在输入表单上使用文本框设置单元格的值

约翰诺迪尼奥

我正在尝试在Excel中创建一个输入表单,该表单根据多个文本框设置行中单元格的值:

  • 对于命令按钮的每次单击,请使用当前表单数据更新单元格的新行。
  • 每个文本框都会在新行中设置特定单元格的值。

我设法磨碎了一些有用的东西,但是看起来笨拙。我最终可能得到n行(可能数百行)。编辑或排除故障会很痛苦。

我不知道如何将每个文本框引用到每个新行中的正确单元格。

如何将这段代码从n减少到固定数目?

Private Sub CommandButton1_Click()

Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet1")
Dim n As Long
Dim LastRow As Long

n = sh.Range("A" & Application.Rows.Count).End(xlUp).Row
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
   
sh.Range("A" & n + 1).Value = Me.TextBox1.Value
sh.Range("B" & n + 1).Value = Me.TextBox2.Value
sh.Range("C" & n + 1).Value = Me.TextBox3.Value
sh.Range("D" & n + 1).Value = Me.TextBox4.Value
sh.Range("E" & n + 1).Value = Me.TextBox5.Value
sh.Range("F" & n + 1).Value = Me.TextBox7.Value
sh.Range("G" & n + 1).Value = Me.TextBox8.Value
sh.Range("H" & n + 1).Value = Me.TextBox9.Value
sh.Range("I" & n + 1).Value = Me.TextBox10.Value
sh.Range("J" & n + 1).Value = Me.TextBox11.Value

End Sub
病毒

也许遵循预定义数组循环的方式:

Private Sub CommandButton1_Click()

Dim sh As Worksheet: Set sh = ThisWorkbook.Sheets("Sheet1")
Dim arr As Variant: arr = Evaluate("=""TextBox""&ROW(1:11)")
Dim lr As Long

With sh
    lr = .Cells(.Rows.Count, 1).End(xlUp).Row
    For Each el In arr
        .Cells(lr + 1, Replace(el, "TextBox", "") * 1) = Me.Controls(el).Value
    Next
End With

End Sub

您还可以决定遍历所有对象UserForm.Controls并检查其TypeName属性:

Private Sub CommandButton1_Click()

Dim sh As Worksheet: Set sh = ThisWorkbook.Sheets("Sheet1")
Dim ctrl As Control, lr As Long

With sh
    lr = .Cells(.Rows.Count, 1).End(xlUp).Row
    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "TextBox" Then
            .Cells(lr + 1, Replace(ctrl.Name, "TextBox", "") * 1) = ctrl.Value
        End If
    Next
End With

End Sub

但是在这个例子中,您将遍历所有控件,并且可能不需要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用vba从ms访问表单文本框中的多个excel文件中检索特定单元格值

来自分类Dev

VBA 用户表单根据 2 个组合框选择使用单元格值填充文本框

来自分类Dev

从Excel单元格获取文本框值

来自分类Dev

获取文本框的值到单元格

来自分类Dev

基于多个单元格交集的文本框值

来自分类Dev

获取文本框的值到单元格

来自分类Dev

在聚焦的文本框和DataGridView单元格上使用虚拟键盘

来自分类Dev

使用单元格双击事件更改用户窗体文本框值

来自分类Dev

将文本框条目与单元格匹配以使用用户表单数据填充列

来自分类Dev

使用jQuery根据索引设置表单元格值

来自分类Dev

仅当文本框不为空时才将值从文本框写入单元格

来自分类Dev

将UserForm文本框值传递到单元格

来自分类Dev

从C#中的Excel单元格获取文本框的值

来自分类Dev

如何将值分配给html单元格内的文本框

来自分类Dev

将单元格的值复制到文本框中

来自分类Dev

如何获得嵌入在单元格中的文本框的值

来自分类Dev

如何获取表中单元格的值并在文本框中显示它

来自分类Dev

将单元格值复制到文本框VBA

来自分类Dev

c1 TrueDBGrid 单元格值到文本框

来自分类Dev

如何从表格单元格中获取文本框值?

来自分类Dev

使用当前行从html表格单元格内的文本框中读取值

来自分类Dev

使用文本框查找并移动到datagridview中的特定单元格

来自分类Dev

如何使用文本框向单元格添加(加号)

来自分类Dev

使用VBA在excel中的文本框中显示单元格内容

来自分类Dev

如何使用用户表单文本框和宏在工作簿单元格中创建到硬盘驱动器文件的超链接

来自分类Dev

根据组合框的值将文本框数据发送到工作表中的特定行/单元格

来自分类Dev

在 HTML 表单输入上显示来自谷歌电子表格的单元格值

来自分类Dev

如何将Gridview单元格值转换为另一页上相应的文本框值?

来自分类Dev

重置表单值后无法设置文本框值

Related 相关文章

  1. 1

    使用vba从ms访问表单文本框中的多个excel文件中检索特定单元格值

  2. 2

    VBA 用户表单根据 2 个组合框选择使用单元格值填充文本框

  3. 3

    从Excel单元格获取文本框值

  4. 4

    获取文本框的值到单元格

  5. 5

    基于多个单元格交集的文本框值

  6. 6

    获取文本框的值到单元格

  7. 7

    在聚焦的文本框和DataGridView单元格上使用虚拟键盘

  8. 8

    使用单元格双击事件更改用户窗体文本框值

  9. 9

    将文本框条目与单元格匹配以使用用户表单数据填充列

  10. 10

    使用jQuery根据索引设置表单元格值

  11. 11

    仅当文本框不为空时才将值从文本框写入单元格

  12. 12

    将UserForm文本框值传递到单元格

  13. 13

    从C#中的Excel单元格获取文本框的值

  14. 14

    如何将值分配给html单元格内的文本框

  15. 15

    将单元格的值复制到文本框中

  16. 16

    如何获得嵌入在单元格中的文本框的值

  17. 17

    如何获取表中单元格的值并在文本框中显示它

  18. 18

    将单元格值复制到文本框VBA

  19. 19

    c1 TrueDBGrid 单元格值到文本框

  20. 20

    如何从表格单元格中获取文本框值?

  21. 21

    使用当前行从html表格单元格内的文本框中读取值

  22. 22

    使用文本框查找并移动到datagridview中的特定单元格

  23. 23

    如何使用文本框向单元格添加(加号)

  24. 24

    使用VBA在excel中的文本框中显示单元格内容

  25. 25

    如何使用用户表单文本框和宏在工作簿单元格中创建到硬盘驱动器文件的超链接

  26. 26

    根据组合框的值将文本框数据发送到工作表中的特定行/单元格

  27. 27

    在 HTML 表单输入上显示来自谷歌电子表格的单元格值

  28. 28

    如何将Gridview单元格值转换为另一页上相应的文本框值?

  29. 29

    重置表单值后无法设置文本框值

热门标签

归档