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

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

沒有留言:

張貼留言

職場毒癌:你憑什麼以為你十年寒窗,抵得我三代從商

你憑什麼以為你十年寒窗,抵得我三代從商——這句話已經記不得是從哪裡看到的,可能是某部劇,也可能是某篇 FB 文章標題。 但最近,特別有感。 為什麼會有這種感觸? 職場上有個同事,一路慢慢升到課長,好歹也是管理職,雖說不上鐵飯碗,但在多數人眼裡也算穩定。 結果呢?輾轉換了兩個製造課...