【问题标题】:Returning an Answer using VBA in a TextBox在文本框中使用 VBA 返回答案
【发布时间】:2014-11-20 01:11:47
【问题描述】:

我正在创建一个相当简单的用户表单。用户必须输入 2 个我想要计算的值,然后在 Excel 电子表格的列中输入。

我不确定如何格式化 VBA 以使其计算这些值,然后将其保存在电子表格中。

这是我所拥有的:

Private Sub txtRecruitPct_Change()
    Dim A As Integer
    Dim B As Integer

    A = txtApprovedAffs.Value
    B = txtEmailsSent.Value

    Answer = A / B    
End Sub

我需要知道如何获取此值以计算并保存在 Excel 的特定列中。

【问题讨论】:

  • 那么您需要检查并确保用户正在输入数字。您的用户表单代码在哪里?
  • 那么你需要有目标单元格Range("Cell Address").Value = Answer
  • 你要求写Range("A1").Value = ARange("A2").Value = BRange("A3").Value = Answer的语法,说你的专栏是A

标签: vba excel userform calculated-field


【解决方案1】:

如果您要将所有答案转储到“A”列,那么:

Private Sub txtRecruitPct_Change()
    Dim A As Integer
    Dim B As Integer
    Dim LastRow As Long

    A = txtApprovedAffs.Value
    B = txtEmailsSent.Value

    Answer = A / B
    LastRow = Range("G" & Rows.Count).End(xlUp).Row
    Range("G" & LastRow + 1).Value = Answer

End Sub

如果您希望将所有数据放在单独的列中:

Private Sub txtRecruitPct_Change()
    Dim A As Integer
    Dim B As Integer
    Dim LastRow As Long

    A = txtApprovedAffs.Value
    B = txtEmailsSent.Value

    Answer = A / B
    LastRow = Range("A" & Rows.Count).End(xlUp).Row
    Range("A" & LastRow + 1).Value = A
    Range("B" & LastRow + 1).Value = B
    Range("C" & LastRow + 1).Value = Answer

End Sub

【讨论】:

  • 谢谢您...所以如果我说将其添加到 G 列,我会将其更改为 LastRow = Range ("A"& Rows.Count).End(xlUP).Row Range (" A" & LastRow+6).Value=Answer?
  • 我会修改我的代码。基本上把所有的“A”改成“G”LastRow = Range("G" & Rows.Count).End(xlUp).Row Range("G" & LastRow + 1).Value = Answer
猜你喜欢
  • 2015-08-25
  • 1970-01-01
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多