如何找到下一个empy单元格并放置数组的内容

时间:2014-01-27 09:04:32

标签: vba

我循环遍历列中的每个单元格,并对每个单元格的文本(由,分隔)执行拆分操作。我将结果放在一个数组中。我将它放在一系列单元格中。当获取下一个单元格值并执行拆分操作时,新值将覆盖先前的结果。如何找到下一个空单元格并放置数组内容而不进行覆盖。

Range("A1:A" & UBound(x) + 1) = WorksheetFunction.Transpose(x)

我将文字分开, 列E2中的示例A,B,C,D B,M,C ......在E3等等到36000(值可能会增加)

Dim txt As String
Dim x As Variant
Dim i As Long
Dim lrow As Double
lrow = Sheet1.UsedRange.Rows.Count
For j = 1 To lrow

    txt = Sheet1.Range("m2").Offset(j - 1, 0)
    x = Split(txt, ",")
        For i = 0 To UBound(x)
            'Debug.Print x(i)
             Range("A1:A" & UBound(x) + 1) = WorksheetFunction.Transpose(x) 'How can i change this line to find next empty cell and palce the result in it

         Next i
Next j

上面的代码将遍历每一行并拆分文本。但每次结果都被覆盖。如何找到下一个空单元格并将结果放入其中?

2 个答案:

答案 0 :(得分:0)

试试这个:

j=1
i=1
Do While IsEmpty(Worksheets("test").Cells(j, i)) = False
 '<do your stuff>   
 j = j + 1
Loop 

j和i是细胞坐标。这个循环将遍历所有非空单元格并停在空单元格上。

答案 1 :(得分:0)

请尝试这个,这适用于M2 = abc,BCD,Xyz,pdt。如果M3 = zse,ssd,vbd将到来,它将把值A1重写为A(j)值。所以相应地更新它。

    Dim i As Integer
    Dim M2 As String
    Dim spltStore As Variant

    Public Sub page_load()
    M2="abc,BCD,Xyz,pdt"
    spltStore = Split(M2, ",")
    j = 1
    For i = 0 To UBound(spltStore)
        Sheet1.Range("A" & j).Value = spltStore(i)
        Debug.Print spltStore(i)
        j = j + 1
      Next i
    End Sub   

希望这对你有用。