[文件] VBA錄製 只取表身做資料整理

看板Office作者 (duck)時間7年前 (2019/02/12 08:26), 7年前編輯推噓0(0039)
留言39則, 2人參與, 7年前最新討論串1/1
軟體:Excel VBA 遇到的問題 1. 每期資料的表頭欄位是固定的 2. 每期資料量都不同,所以列數會往下新增或減少 3. 資料都會有表尾總計數 現在是直接用VBA錄製動作 1. 用資料篩選,選擇表尾的表格顏色,然後整列刪除 2. 再解除資料篩選,繼續後續的資料整理 但發現這樣range還是只會記憶被刪除的那一列,而不是依每次篩選出來的表尾。 想請問各位大大,只想取表頭跟表尾中間的資料的話可以怎麼整理,感謝~~~~~ https://i.imgur.com/5HnAn92.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.125.20 ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.125.20 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1549931214.A.18D.html

02/12 08:34, 7年前 , 1F
是指要確定表尾的列號嗎?(因為問題寫到列數會往下新增或
02/12 08:34, 1F

02/12 08:35, 7年前 , 2F
減少)
02/12 08:35, 2F

02/12 08:35, 7年前 , 3F
如果是的話,range.end、range.find,有連續資料的話,也
02/12 08:35, 3F

02/12 08:36, 7年前 , 4F
可配合工作表函數count或counta
02/12 08:36, 4F
※ 編輯: pipipipig (42.73.196.130), 02/12/2019 09:07:47

02/12 09:10, 7年前 , 5F
不好意思文字太抽象,更新一下圖
02/12 09:10, 5F

02/12 09:12, 7年前 , 6F
就是每期列1固定,然後列261跟列262都是不要的,所以
02/12 09:12, 6F

02/12 09:12, 7年前 , 7F
會篩選顏色再刪除
02/12 09:12, 7F

02/12 09:16, 7年前 , 8F
希望是取1:260的資料嗎,如以連結來看的話a1:j260?
02/12 09:16, 8F

02/12 09:18, 7年前 , 9F
其他的如篩選顏色再刪除這方面會執行嗎?亦或不要執行而要
02/12 09:18, 9F

02/12 09:18, 7年前 , 10F
取出a1:j260的資料?
02/12 09:18, 10F

02/12 09:19, 7年前 , 11F
取A2:A260,A2每期都固定,然後A260會往下延伸或是減
02/12 09:19, 11F

02/12 09:19, 7年前 , 12F
少列數
02/12 09:19, 12F

02/12 09:20, 7年前 , 13F
打錯,是J260不是A260,拍謝拍謝!!
02/12 09:20, 13F

02/12 09:28, 7年前 , 14F
以連結來看j261和j262方面是不會鍵入資料嗎?
02/12 09:28, 14F

02/12 09:29, 7年前 , 15F
如果不會的話
02/12 09:29, 15F

02/12 09:29, 7年前 , 16F
以range("a2:j" & [j1048576].end(xlup).row) 可取得
02/12 09:29, 16F

02/12 09:31, 7年前 , 17F
或是以range("a2",[j1048576].end(xlup))
02/12 09:31, 17F

02/12 09:37, 7年前 , 18F
range.end方面以可以range.find,或以有連續資料的某欄以
02/12 09:37, 18F

02/12 09:38, 7年前 , 19F
工作表函數count或counta來計數(有可能需減不計入的列,如
02/12 09:38, 19F

02/12 09:39, 7年前 , 20F
表頭尾的列數)
02/12 09:39, 20F

02/15 08:01, 7年前 , 21F
表單後續會再就A2:J的中間下公式和插入欄整理分類,所
02/15 08:01, 21F

02/15 08:01, 7年前 , 22F
以目標不是刪除黃色列,而是為了只取A2到J下公式運算
02/15 08:01, 22F

02/15 08:01, 7年前 , 23F
,但每期都J的列數都會變。如果範圍這樣取是不是會取
02/15 08:01, 23F

02/15 08:01, 7年前 , 24F
到不要的黃色列? ("a2:j" & [j1048576].end(xlup).row
02/15 08:01, 24F

02/15 08:01, 7年前 , 25F
)
02/15 08:01, 25F

02/15 08:02, 7年前 , 26F
謝謝~~
02/15 08:02, 26F

02/15 08:13, 7年前 , 27F
這不一定,就要看黃色列的j欄(是否有鍵入資料,這也是我之
02/15 08:13, 27F

02/15 08:14, 7年前 , 28F
前回文所詢問的問題),所提供的寫法也如回文假設,如果不
02/15 08:14, 28F

02/15 08:15, 7年前 , 29F
會的話下的情況
02/15 08:15, 29F

02/15 08:17, 7年前 , 30F
所以如果黃色的j欄是有鍵入資料(這裡的資料也保括公式)的
02/15 08:17, 30F

02/15 08:18, 7年前 , 31F
話,就改以a:i欄內來判斷最後一筆有值的列號,但條件如下
02/15 08:18, 31F

02/15 08:20, 7年前 , 32F
1.需黃色列第一列上方是有資料,2.黃色列該欄是沒有資料的
02/15 08:20, 32F

02/15 08:22, 7年前 , 33F
以連結來看a:i第一列上方有資料,看起來是除了b和i沒有
02/15 08:22, 33F

02/15 08:23, 7年前 , 34F
而2該欄沒有資料來看為d和e。就調整成這二個條件符合下的
02/15 08:23, 34F

02/15 08:24, 7年前 , 35F
欄來取得最後一筆有值的列號
02/15 08:24, 35F

02/15 08:26, 7年前 , 36F
實際也可能都沒有符合的條件,那就改以判斷任一欄最後一筆
02/15 08:26, 36F

02/15 08:27, 7年前 , 37F
有值的列號(有可能包含黃色列,且有資料的條件也固定都會
02/15 08:27, 37F

02/15 08:27, 7年前 , 38F
出現在黃色列內),該列號減出現於黃色列內的筆數
02/15 08:27, 38F

02/18 20:57, 7年前 , 39F
修改後成功取到值了!!!謝謝s大!!
02/18 20:57, 39F
文章代碼(AID): #1SOXBE6D (Office)
文章代碼(AID): #1SOXBE6D (Office)