我有一个带有一些Checkbox和TextField的UserForm,当我按下“Insert”按钮时,输入被粘贴在第1行A-7列。
我有以下问题:
按下按钮后,我想再次填写UserForm并将数据粘贴到第2行,然后是3,4,5,6等等。有人能告诉我如何动态跳转到下一行并插入数据吗?
我的复选框的代码段如下:
If UserForm1.eig_hand.Value = True Then
Range("E3").Value = "Yes"
End If
这个片段将在我按下“插入按钮”后执行,这将非常有用,当我可以关闭并重新打开Excel文件并继续我关闭文件的行。我知道我在代码片段中有一个静态表达式,但我在VBA中是一个完全初学者
编辑:
我找到了解决问题的方法。 我在单元格中有一个计数器变量,例如单元格(5,1),我的代码如下所示:
Dim counter_var As Integer
counter_var = Cells(5, 1)
If UserForm1.eig_hand.Value = True Then
Cells(counter_var, 4).Value = "Ja"
End If
If UserForm1.eig_kmu.Value = True Then
Cells(counter_var, 5).Value = "Ja"
End If
在我的代码结尾处,我设置了counter_var + = 1。 所有回复的Ty:)
答案 0 :(得分:1)
只是:
Range("E" & Rows.Count).End(xlUp).Offset(1).Value= "Yes"
但我和你的代码有一个重大缺点 - 当你在工作簿和工作表之间切换时,它们可能会产生意想不到的结果。但它是你的问题的答案。
答案 1 :(得分:0)
类似的东西:
Sub ButtonCode()
Dim E2 As Range, n As Long
Set E2 = Range("E2")
If E2 = "" Then
E2 = "yes"
Else
n = Cells(Rows.Count, "E").End(xlUp).Row + 1
Range("E2:E" & n) = "yes"
End If
End Sub