2022年6月8日 星期三

VBA:取得儲存格資料(單一、不連續、多行)

 天啊我怎想出這標題的!!

不就是用等號碼嗎<>

A=ACTIVESHEET.RANGE("C1"),這樣就可以取得C1儲存格資料,儲存到A變數中了。

小編想要詮釋如何取的一個範圍

如A行某指定範圍

則可以:

取得:A=ACTIVESHEET.RANGE("A1:A100")

寫入:ACTIVESHEET.RANGE("A1:A100")=A

也可以多行範圍:

取得:A=ACTIVESHEET.RANGE("A1:B100")

寫入:ACTIVESHEET.RANGE("A1:B100")=A

 不連續呢??

單一不連續儲存格變成一維陣列:

SET MYRANGE=ACTIVESHEET.RANGE("A1,C1,F1")

CELL_VALUE=""

FOR EACH CELL IN MY RANGE

IF CELL="" THEN 

CELL_VALUE=CELL

ELSE

CELL_VALUE=CELL_VALUE & "@" & CELL

END IF

NEXT

CELL_VALUE==SPLIT(CELL_VALUE,"@")

單一不連續行變成一維陣列:

Set myRange = ActiveSheet.Range("A1:A100,C1:C100,F1:F100")

CELL_VALUE=""

FOR EACH CELL IN MY RANGE

IF CELL="" THEN 

CELL_VALUE=CELL

ELSE

CELL_VALUE=CELL_VALUE & "@" & CELL

END IF

NEXT

CELL_VALUE==SPLIT(CELL_VALUE,"@")

但是如果要多行複製然後維持行別勒?

建議直接COPY!!!處理 哈哈。

或是直接一次多行的做法,然後再刪除陣列中資料即可,但缺點是寫入資料會複寫。

沒有留言:

張貼留言

打破人力資源最好的教案:川普

打破人力資源最好的教案: 川普 why? 過去討論人才       好用、解決問題,多少證照,還是產值? 現在討論人的重量?      重量如同金錢一樣      一公升92汽油多少錢?      淋在人身上跟加在車輛內會衍生多少"量化"? 對主管來說,人的重...