我想使用一行代碼來選擇列A到D和行1到4(但範圍將是動態的),單元格D4是空的。不幸的是既不以下的似乎工作:用一行代碼選擇4x4網格
Range("A1", Range("A1").End(xlToRight).End(xlDown)).Select
也不
Range("A1", Range("A1").End(xlDown).End(xlToRight)).Select
感謝您的任何想法
我想使用一行代碼來選擇列A到D和行1到4(但範圍將是動態的),單元格D4是空的。不幸的是既不以下的似乎工作:用一行代碼選擇4x4網格
Range("A1", Range("A1").End(xlToRight).End(xlDown)).Select
也不
Range("A1", Range("A1").End(xlDown).End(xlToRight)).Select
感謝您的任何想法
此代碼採取當前區域的最後一個單元格從A1(CTRL+*
)
Range("A1").CurrentRegion.Select
應該工作。
而且
Range("A1").SpecialCells(xlCellTypeLastCell).Address
應該給在工作表中的最後一個單元格的ADRESS。
即使最後一個單元格是空的? – ChrisM
是的,但我編輯我的帖子我不回答這個,其實只是設置rng =範圍(「A1」)。CurrentRegion.Select應該工作 – Bla2
感謝Bla2,它的工作原理,但你知道如何調整代碼即使選擇位於工作表中間的某個位置,並且旁邊還有一個非空列,它也可以工作。 CurrentRegion在這種情況下是不夠的。 – barciewicz
如果您想選擇的4×4塊起始於A1
,使用方法:
Range("A1").Resize(4, 4).Select
如果要選擇包含在4列在A1
盯着所有的值塊,使用:
Range("A1:D" & Range("A1:D" & Cells.Rows.Count) _
.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row).Select
要移動基電池,例如,代替E7
A1
,只需用E7
和取代A1
和A1:D
以上分別爲。
什麼定義了數據的結尾?如果以下示例中的D4是空白的,那麼它不是最後一個已填充的單元格 – ChrisM
爲什麼代碼必須位於同一行上? – ChrisM
嘿克里斯。這是這個宏中的所有代碼。基本上我試圖在按Ctrl + Shift +右鍵然後按Ctrl + Shift +鍵時模仿excel行爲,這樣可以很好地工作。代碼不一定在一行,但如果我將它分成兩行,它也不能按需要工作。 – barciewicz