我是VBA的新手,最近我一直在开发计算器以帮助完成我的工作。我已经在Excel工作表中创建了具有多个复选框和文本框的表单,我有一个应由用户表单填写的表格。但是,我遇到了问题,在用户表单中有一个复选框,当用户选中该复选框时必须输入文本框,我得到了恰好八个类似的类别(复选框和文本框),因此所有复选框和所有填充的文本框应显示在工作表的单元格中,但是我这样做的方式是,我使用以下行:
Range("E5").Value = "Project Manager"
对于八个类别中的每个类别,它都必须填充单元格,而不能留下任何空白单元格。
例如,用户选中8个框中的5个,并相应地为每个文本框填写文本框,如果他们跳过了其中一个框,则在将它们打印到单元格上时,不能做相同的操作。
Private Sub CommandButton1_Click()
Dim PMdays As Integer
If PMcheckBx.Value Then
Range("E5").Value = "Project Manager"
PMdays = PMtextBx.Value
ActiveCell.Offset(0, 1) = PMdays
End If
End Sub
因此,我附上一张我希望它看起来如何以及我现在看起来如何的图像,以帮助您进一步了解我的问题。
答案 0 :(得分:1)
您可以执行以下操作:
Private Sub CommandButton1_Click()
Dim PMdays As Integer, c As Range
Set c = ActiveSheet.Range("E5").Value '<< start list here
If PMcheckBx.Value Then
c.Resize(1,2).Value = Array("Project Manager", PMtextBx.Value)
Set c = c.Offset(1, 0) 'move down one row
End If
'next 7 checkboxes
End Sub
请注意,不需要ActiveCell /选择/激活。