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!!!處理 哈哈。

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

沒有留言:

張貼留言

一個關於惡作劇、成長與勇氣的故事:那條蚯蚓,和一句遲來的對不起

 一、序章:他以為,大家都會笑 那天下午,幼兒園的院子裡灑滿陽光。 林老師帶著孩子們做自然拼貼。桌上有葉子、小花、石頭,還有幾支沾了泥巴的彩色筆。 小晴挑了一朵粉紅色的小花,小心地放在紙上。 「老師,你看,這是我做的花園。」 坐在旁邊的阿哲卻一刻也坐不住。他蹲...