我知道我可以通過遍歷第一個範圍來完成此任務,但我很好奇我是否可以使用SpecialCells
屬性來完成此任務。如何將一個範圍的SpecialCells分配到新範圍?
說我有一個空單元格名稱之間的列:
A B C
Jon
Jim
Sally
Jane
Mary
如果我想使用VBA在剛剛用過的細胞複製,我可以說
Range("A1:A8").SpecialCells(xlCellTypeConstants, xlTextValues).Copy
Range("C1:C"&Range("A1:A8").SpecialCells(xlCellTypeConstants, xlTextValues).Count).PasteSpecial
和結束與
A B C
Jon Jon
Jim Jim
Sally Sally
Jane
Jane Mary
Mary
相反,我想能夠做到這一點,而無需在任何地方粘貼範圍。
我想要做的是有一個範圍包含[Jon,Jim,Sally,Jane,Mary]
,但如果我嘗試Set rng = Range("A:A").SpecialCells(xlCellTypeConstants,xlTextValues)
,我最終將空格作爲範圍的元素,或使用硬編碼的單元格範圍,一個在擊中空間之前僅計入[Jon, Jim, Sally]
。
我希望能夠在代碼中的其他地方使用範圍,我認爲SpecialCells是一個很好的緊湊方式,但是我唯一的選擇是在循環中做它,並將單元格作爲<> ""
?
你確定最後一部分?我已經測試過了,如果你在檢查len(cell)<> 0之前做了Range(「A5」)。Value =「」,它會拒絕這個單元格。 – aevanko
只是澄清,我說的是len(文本)<> 0。我同意檢查<>「是否是一個可怕的想法。 – aevanko
v爲什麼要打擾第二維,只是好奇而已? – jonsca