【问题标题】:Can i use the Same form to input different cells我可以使用相同的表格输入不同的单元格吗
【发布时间】:2015-12-11 23:03:39
【问题描述】:

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

我需要向用户提问,并且我正在使用 VBA 表单来这样做,一旦他们在此处输入答案,这将保存到指定单元格中的工作簿中。

但是,他们需要为每个国家/地区回答相同的问题,问题将保持不变,但值和单元格位置不同。有没有办法在不创建 50 个相同表单的情况下做到这一点?

我还应该提到,数据将在他们之前回答问题时预先填写,这消除了添加到下一个空白行的能力。

【问题讨论】:

  • 我还应该提到,数据将在他们之前回答问题时预先填写,这消除了添加到下一个空白行的能力。
  • 有很多方法可以做到这一点。我相信社区会提供各种各样的。
  • 您的国家/地区列表来自哪里?它是在工作表上还是硬编码?

标签: forms vba excel duplicates


【解决方案1】:

如果您在 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

我假设您在表单上有一个按钮,例如“发布答案”或其他内容。 在按钮单击事件中调用上面的 sub 传递当前国家/地区。

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

【讨论】:

    猜你喜欢
    • 2020-10-17
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多