0
我想提取名稱爲「data」,範圍(「Ai」)的範圍(「A1:A10」)中的非空單元格的行索引(i
是偶數)具有值「long」和範圍(「Aj」)(j
爲奇數)爲空單元格。如果我做對了,我應該得到(2,4,6,8,10),但是我的代碼失敗了。這裏是我的代碼:提取特定範圍內非空單元格的行索引
Sub RowIndexes()
Dim NonEmptyRows As Integer
Dim RowIndexes() As Integer
Dim i As Integer
Dim rng As Range
NonEmptyRows = WorksheetFunction.CountIf(Range("data"), "long")
ReDim RowIndexes(1 To NonEmptyRows)
For Each rng In Range("data")
If rng.Value = "long" Then
i = i + 1
RowIndexes(i) = rng.Row
End If
Next rng
Sheets("sheet1").Range("B1:B5").Value = RowIndexes
End Sub
我打印出來,但結果搞糊塗了,我剛剛得到「2」(也可能是範圍(「A2」)的行索引),我想不出爲什麼。真的需要一些幫助。
感謝爲了說明,我解決了這個問題,推遲了我的項目兩天。隨着你的靈感,我進一步挖掘了一些,發現了一些有趣的東西。 – scofieldchen
請使用勾號接受答案http://stackoverflow.com/help/someone-answers – izzymo
如果您創建一個數組並手動爲其分配一些值,它似乎是「行向量」,如果您想要打印出來或者使用Range(「whatever」)。value = worksheetfunction.transpose(MyArray)或for循環。但是,如果將範圍值傳遞給數組,它似乎是「列向量」或「矩陣」,您可以使用Range(「whatever」)將其打印出來。value = MyArray(它們具有相同的行和列) 。我不知道是否有一個普遍的模式? – scofieldchen