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

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

沒有留言:

張貼留言

職場毒癌:把「同學」當「免費顧問」。當我來寫作業歐

故事來自某個EMBA傳說—— 有位做無人VAN的先進,還自己開顧問公司。 一起休學分同班同學們很好奇,約來服務公司喝咖啡「聊聊天」,解決公司困難。 結果呢? 需求講了、困難講了、流程拆了、解法問了,一輪全上。 聊著聊著,直接變半場顧問會議。 你還以為這叫交流? 拜託。 一起修過幾...