如果单元格将文本写入下一个单元格
在Excel的VBA中,如何检查一个单元格是否包含文本,并在下面的单元格中写入内容(无限次)? 我试图做到这一点:
Private Sub TextBox1_Change() Sheet2.Range("A").Value = Sheet1.TextBox1.Value End Sub
这似乎改变了整个A列。 我希望Sheet1上的文本框将其文本写入到Sheet2的“列A”中的第一个空白单元格。
我希望Sheet1上的文本框将其文本写入到Sheet2的“列A”中的第一个空白单元格。
如果要查找最后一个非空单元格,然后在下一个单元格中写入您的值,请使用以下代码:
Private Sub TextBox1_Change() Dim lastrow As Long With Sheet2 lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row .Range("A" & lastrow + _ IIf(lastrow = 1 And .Range("A1") = "", 0, 1)).Value _ = Sheet1.TextBox1.Value End With End Sub
如果你想在列A
find第一个空单元格(即如果你有A1
, A2
, A4
,而不是A3
,那么第一个空单元格将是A3
)使用下面的代码:
Private Sub TextBox1_Change() Dim emptyRow As Long With Sheet2 emptyRow = IIf( _ .Range("A1") = "", 1, _ IIf(.Range("A2") = "", 2, _ Application.Min(.Cells(1, "A").End(xlDown).Row + 1, Rows.count))) .Range("A" & emptyRow).Value = "S" End With End Sub