【问题标题】:Get Data from UserForm into existin Table in Excel将用户窗体中的数据获取到 Excel 中的现有表中
【发布时间】:2020-01-13 14:46:21
【问题描述】:

我有一个问题,我正在尝试将用户表单中的数据添加到包含不同公式(表 1)的现有表中,但我不知道如何将其插入代码中。代码如下:

(表格所在的工作表是Sheet1。)

Private Sub CommandButton2_Click()

Dim wks As Worksheet
Dim AddNew As Range
Set wks = Sheet1

Set AddNew = wks.Range("A65356").End(xlUp).Offset(1, 0)

 AddNew.Offset(0, 0).Value = TextBox1.Text
 AddNew.Offset(0, 1).Value = ComboBox2.Text
 AddNew.Offset(0, 3).Value = ComboBox3.Value
 AddNew.Offset(0, 4).Value = ComboBox4.Value
 AddNew.Offset(0, 2).Value = TextBox8.Text
 AddNew.Offset(0, 6).Value = TextBox11.Text
 AddNew.Offset(0, 7).Value = TextBox6.Text
 AddNew.Offset(0, 8).Value = TextBox7.Text
 AddNew.Offset(0, 15).Value = TextBox9.Text
 AddNew.Offset(0, 16).Value = TextBox10.Text
 AddNew.Offset(0, 14).Value = ComboBox1.Text

 TextBox1.Text = ""
ComboBox2.Text = ""
ComboBox3.Text = ""
ComboBox4.Text = ""
TextBox8.Text = ""
TextBox11.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
ComboBox1.Value = ""


End Sub

【问题讨论】:

  • 我必须承认,我在这里没有看到问题。提供的代码看起来可以正常工作。具体出了什么问题?
  • 它可以工作,但是它将数据添加到 sheet1 中,我想将它们添加到位于 sheet1 中的特定表中,它被称为“Table1”
  • 您需要在分配 AddNew 范围变量期间引用该表(目前您已将其硬编码到 A 列),如下所示:Set AddNew = wks.Cells(wks.Rows.Count, wks.ListObjects("Table1").DataBodyRange.Column).End(xlUp).Offset(1)

标签: excel vba userform data-entry excel-tables


【解决方案1】:

@tigeravatar 是对的,您需要查找 ListObjects 的文档。

表格不同于 Excel 中的工作表。

随着您在 VBA 中的进步,您将前往 want to use this site 以帮助您了解正在发生的一些神奇事情。

在 VBA 中,与 .NET 一样,变量类具有不同的属性和方法,您可以参考。如果您制作的对象是特定的预构建类,则很可能会在网络上提供文档和教程供您阅读、学习和构建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多