Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel将行添加到所有表中,并在所有表中插入数据_Excel_Vba - Fatal编程技术网

Excel将行添加到所有表中,并在所有表中插入数据

Excel将行添加到所有表中,并在所有表中插入数据,excel,vba,Excel,Vba,我目前正在从事一个项目,我需要找到一种方法,将一行数据添加到工作表“Staff”中的所有表中,并且在这些新行中必须输入一些数据,这些数据必须输入到所有已创建的新行中 目前我得到了以下代码: Sub Test() Dim the_sheet As Worksheet Dim tbl As ListObject Dim newrow As ListRow Set ws = ActiveSheet myValue_1 = InputBox("What Month?") myValue_2 = In

我目前正在从事一个项目,我需要找到一种方法,将一行数据添加到工作表“Staff”中的所有表中,并且在这些新行中必须输入一些数据,这些数据必须输入到所有已创建的新行中

目前我得到了以下代码:

Sub Test()

Dim the_sheet As Worksheet
Dim tbl As ListObject
Dim newrow As ListRow

Set ws = ActiveSheet
myValue_1 = InputBox("What Month?")
myValue_2 = InputBox("Fill in name", "Name Employee")
myValue_3 = InputBox("Fill in birth date", "Birth Date Employee")
myValue_4 = InputBox("Fill in BSN", "BSN Employee")
Set tbl = ws.ListObjects(myValue_1)

Set newrow = tbl.ListRows.Add
With newrow
    .Range(1) = myValue_2
    .Range(2) = myValue_3
    .Range(3) = myValue_4
End With

End Sub
但是,此代码查找特定的表(具有月份名称、一月、二月等)。因此,通过这段代码,我可以在一个特定的表中填写数据,但我希望能够将这些数据放入工作表“Staff”中的每个表中

有人能帮我吗


亲切问候,

只需循环浏览工作表中的所有表格即可:

Sub Test()

    Dim tbl As ListObject
    Dim newrow As ListRow

    myValue_2 = InputBox("Fill in name", "Name Employee")
    myValue_3 = InputBox("Fill in birth date", "Birth Date Employee")
    myValue_4 = InputBox("Fill in BSN", "BSN Employee")

    For Each tbl in Worksheets("Staff").ListObjects
        Set newrow = tbl.ListRows.Add

        With newrow
            .Range(1) = myValue_2
            .Range(2) = myValue_3
            .Range(3) = myValue_4 
        End With
    Next

End Sub

只需循环浏览工作表中的所有表格:

Sub Test()

    Dim tbl As ListObject
    Dim newrow As ListRow

    myValue_2 = InputBox("Fill in name", "Name Employee")
    myValue_3 = InputBox("Fill in birth date", "Birth Date Employee")
    myValue_4 = InputBox("Fill in BSN", "BSN Employee")

    For Each tbl in Worksheets("Staff").ListObjects
        Set newrow = tbl.ListRows.Add

        With newrow
            .Range(1) = myValue_2
            .Range(2) = myValue_3
            .Range(3) = myValue_4 
        End With
    Next

End Sub

多亏了BigBen,我才得以使用以下代码:

Sub Test()

Dim the_sheet As Worksheet
Dim tbl As ListObject
Dim NewRow As ListRow

myValue_2 = InputBox("Fill in name", "Name Employee")
myValue_3 = InputBox("Fill in birth date", "Birth Date Employee")
myValue_4 = InputBox("Fill in BSN", "BSN Employee")

For Each tbl In Worksheets("Staff").ListObjects
    Set NewRow = tbl.ListRows.Add
    With NewRow
        .Range(1) = myValue_2
        .Range(2) = myValue_3
        .Range(3) = myValue_4
    End With
Next tbl
End Sub

多亏了BigBen,我才得以使用以下代码:

Sub Test()

Dim the_sheet As Worksheet
Dim tbl As ListObject
Dim NewRow As ListRow

myValue_2 = InputBox("Fill in name", "Name Employee")
myValue_3 = InputBox("Fill in birth date", "Birth Date Employee")
myValue_4 = InputBox("Fill in BSN", "BSN Employee")

For Each tbl In Worksheets("Staff").ListObjects
    Set NewRow = tbl.ListRows.Add
    With NewRow
        .Range(1) = myValue_2
        .Range(2) = myValue_3
        .Range(3) = myValue_4
    End With
Next tbl
End Sub

用于工作表(“员工”)中的每个tbl。ListObjects
。感谢您的评论。不幸的是,我没有太多的经验与VBA,我不知道在哪里放置这条线。目前我把它放在Set NewRow=tbl.ListRows.Add上面,但当我尝试此操作并更改诸如“需要对象”和“期望下一步”之类的内容时,会不断出现错误。我不确定如何解决这个问题。你能帮我一个忙吗?编辑了最后一条评论,我按enter键发布了它,这不是我对工作表(“员工”)中每个tbl的意图。ListObjects。谢谢你的评论。不幸的是,我没有太多的经验与VBA,我不知道在哪里放置这条线。目前我把它放在Set NewRow=tbl.ListRows.Add上面,但当我尝试此操作并更改诸如“需要对象”和“期望下一步”之类的内容时,会不断出现错误。我不确定如何解决这个问题。你能帮我一下吗?编辑了最后一条评论,我按enter键发布了,这不是我的意图谢谢Ben,我在发布几分钟后用一个非常类似的代码得到了它。我会把工作答案贴在下面。不幸的是,我不能投票给你,因为我有低于15代表,但非常感谢!谢谢Ben,在我发布几分钟后,我用一个非常类似的代码实现了它。我会把工作答案贴在下面。不幸的是,我不能投票给你,因为我有低于15代表,但非常感谢!哈很高兴你让它工作,这几乎是完全相同的我的答案顺便说一句。是的,我看到我的帖子后,它是相同的。谢谢哈很高兴你让它工作,这几乎是完全相同的我的答案顺便说一句。是的,我看到我的帖子后,它是相同的。谢谢