作者o1o3o1o31030 (主席)
看板Office
標題[算表] VBA 資料選取
時間Mon Mar 27 12:27:13 2017
軟體:excel
版本:2013
目前工作常遇到要將一個矩陣資料做列選取或是行選取
EX: 1表選取 0表不選
情況一 列選取
A B C D E ....
1 11 12 13 14 15 1
2 21 22 23 24 25 0
3 31 32 33 34 35 1
4 41 42 43 44 45 1
.
.
.
輸出
A B C D E ....
1 12 13 14 15 16
2 31 32 33 34 35
3 41 42 43 44 45
.
.
情況二 行選取
A B C D E ....
1 11 12 13 14 15
2 21 22 23 24 25
3 31 32 33 34 35
4 41 42 43 44 45
.
.
. 1 0 1 0 1
輸出
A B C D E ....
1 11 13 15
2 21 23 25
3 31 33 35
4 41 43 45
.
.
.
類似這樣,用函數或是程序都可以
感謝各位高手!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.70.233
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1490588836.A.561.html
1F:→ soyoso: 情況一或二,迴圈配合判斷if或搜尋range.find的方式,符合 03/27 12:31
2F:→ soyoso: 輸出,range.copy或range=range.value 03/27 12:33
3F:→ soyoso: 情況一也可以篩選range.autofilter或range.advancedfilter 03/27 12:34
4F:→ soyoso: 如以篩選應多設個標題列 03/27 12:38
5F:→ soyoso: range.copy配合的貼上可以worksheet.paste或 03/27 12:44
6F:→ soyoso: range.pastespecial 03/27 12:44
8F:→ o1o3o1o31030: 可以請S大詳述一下VBA嗎? 有點看不懂@@? 03/27 23:30
9F:→ o1o3o1o31030: 我的意思是自訂函數XD 用儲存格函數是我現在用法 03/27 23:30
10F:→ o1o3o1o31030: 資料太多非常卡 想要優化一下 不然常跑到當機= = 03/27 23:31
11F:→ soyoso: 原po要的是程序sub還是要自訂函數function? 03/27 23:33
12F:→ o1o3o1o31030: 我原本構想是用自訂函數 03/27 23:53
13F:→ o1o3o1o31030: 像是 = 選取函數(矩陣,選取向量) 03/27 23:54
14F:→ soyoso: 可以原po回文所述,回傳符合條件的array,再以index取出 03/28 00:43
15F:→ o1o3o1o31030: 可以請教S大如何讓自訂函數輸出陣列公式嗎? 03/28 16:21
16F:→ o1o3o1o31030: 沒寫過陣列的,自訂函數難以偵錯或是用程序比較適合 03/28 16:22
17F:→ o1o3o1o31030: 不太知道該如何指定一陣列給自訂函數輸出 03/28 16:23
18F:→ soyoso: 如要於巨集內陣列公式的話可用evaluate 03/28 16:32
19F:→ soyoso: 如回文的array則是以變數或自訂函數指定符合條件範圍,變 03/28 16:38
20F:→ soyoso: 數類型為variant 03/28 16:39
21F:→ o1o3o1o31030: 我想s大誤會我的意思了xd 我不該講函數兩個字的 03/28 22:15
22F:→ o1o3o1o31030: 有點混淆! 我重新請教如果我想寫sub 該如何進行呢? 03/28 22:16
23F:→ o1o3o1o31030: 抱歉我語意不清,我想直接做個sub而不是引用excel函 03/28 22:17
24F:→ o1o3o1o31030: 數 03/28 22:17
25F:→ soyoso: 如原po要的是sub的話,回文的第1~6則是回覆sub的部分 03/29 02:04