如何仅使用填充的文本框填充Excel工作表单元格,而不使用任何空单元格?

如何仅使用填充的文本框填充Excel工作表单元格,而不使用任何空单元格?,excel,vba,Excel,Vba,我是VBA新手,最近我一直在开发一个计算器来帮助我完成工作。我已经创建了一个带有多个复选框和文本框的表单,在我的Excel工作表中,我有一个应由用户表单填写的表。然而,我遇到了一些问题,在用户表单中有一个复选框,当选中该复选框时,用户必须输入文本框,我正好得到了八个类似的类别(复选框和文本框),因此所有复选框和所有填充的文本框都应显示在工作表的单元格中,无论它们是以何种方式显示的,是我用的那句话: Range(“E5”).Value=“项目经理” 对于八个类别中的每一个,它必须填充单元格,而不留

我是VBA新手,最近我一直在开发一个计算器来帮助我完成工作。我已经创建了一个带有多个复选框和文本框的表单,在我的Excel工作表中,我有一个应由用户表单填写的表。然而,我遇到了一些问题,在用户表单中有一个复选框,当选中该复选框时,用户必须输入文本框,我正好得到了八个类似的类别(复选框和文本框),因此所有复选框和所有填充的文本框都应显示在工作表的单元格中,无论它们是以何种方式显示的,是我用的那句话:

Range(“E5”).Value=“项目经理”

对于八个类别中的每一个,它必须填充单元格,而不留下任何空单元格

例如,用户选中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
因此,我附上了一张我希望它是什么样子的图片,以及我现在的样子,以帮助您进一步了解我的问题


您可以这样做:

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
Private子命令按钮1\u单击()
Dim PMdays为整数,c为范围
设置c=ActiveSheet.Range(“E5”).值'