我可以使用相同的表单输入不同的单元格

时间:2015-09-15 15:44:28

标签: excel forms vba excel-vba duplicates

我对VBA很陌生,想看看我是否正在完成我的任务。

我需要询问用户问题并使用VBA表单这样做,一旦他们输入答案,这将保存到指定单元格中的工作簿。

然而,他们需要为每个国家回答相同的问题,问题将保持不变,但值和单元格位置不同。有没有办法在不创建50个相同表单的情况下执行此操作?

我还应该提一下,数据将在他们回答之前的问题时预先填写,这样就无法添加到下一个空白行。

1 个答案:

答案 0 :(得分:0)

如果您在A列的工作表中列出了国家/地区。

Sub PostAnswer(Country as string)
Dim lrow As Long
Dim ws As Excel.Worksheet

    Set ws = Worksheets("Sheet1")

    lrow = 1
    Do While lrow <= ws.UsedRange.Rows.count

        'Check if this row is the current country 
        If ws.Range("A" & lrow).Value = Country Then
            'Write the answers to the current row
            ws.Range("B" & lrow).Value = SomeAnswer
            ws.Range("C" & lrow).Value = SomeOtherPartOfTheAnswer
            ws.Range("D" & lrow).Value = SomeOtherPartOfTheAnswer
            Exit Do
        End If

    lrow = lrow + 1
    Loop
End sub

我假设你有一个像&#34; Post Answer&#34;或表格上的东西。 在按钮单击事件中,调用上面的子项将其传递给当前国家/地区。

Private Sub CommandButton1_Click()
    PostAnswer "Current Country"
End sub