复制其他工作表中其他文本框中文本框中的内容

时间:2010-05-25 17:48:36

标签: excel vba textbox excel-vba

我在电子表格中有四张纸。

在每张纸上都有一个文本框。

当我在sheet1上输入文本框时,我希望sheet2,sheet3和sheet4上的文本框填充相同的值。

4 个答案:

答案 0 :(得分:3)

这是另一种方式:

创建一个模块,并将此代码放在那里。这需要针对您自己的特定文本框名称和工作表名称进行配置

Public Sub UpdateTextBoxes(str As String)

    Sheets("sheet1").TextBox1.Text = str
    Sheets("sheet2").TextBox1.Text = str
    Sheets("sheet3").TextBox1.Text = str
End Sub

然后,对于您希望复制的每个文本框对象,将其用于其更改事件(工作表类模块)(更改参数以满足您的需求)

Private Sub TextBox1_Change()
    UpdateTextBoxes Me.TextBox1.Text
End Sub

通过这种方式,您可以为自己认为合适的控件命名,并且可以从任何文本框更新文本,并且它们始终是一致的。

答案 1 :(得分:2)

这是一种方法:将第一个文本框的LinkedCell属性设置为A1。将每个其他文本框的LinkedCell属性设置为其自己工作表的A1。然后在表2-4中,单元格A1,放

=Sheet1!A1

现在,无论您在Sheet1上的文本框中键入什么,都将位于工作表2-4上的文本框中。如果在2-4中的文本框中键入任何内容,则会断开链接。但是根据你的问题,看起来你只想输入第一个。

这是另一种方式。

Private Sub TextBox1_Change()

    Dim ws As Worksheet

    For Each ws In Me.Parent.Worksheets
        ws.OLEObjects("TextBox1").Object.Text = Me.TextBox1.Text
    Next ws

End Sub

将它放在工作表的类模块中。它假定您的所有文本框都命名为TextBox1。每当你更改Sheet1上的那个时,另一个工作表上的那个就会改变。

答案 2 :(得分:0)

您是否希望其他文本框可编辑,或者只是始终显示第一个文本框的内容?当用户编辑第2个,第3个等时(在第一种情况下),其他文本框会发生什么?这些问题会影响解决方案......但是如果你只想让盒子模仿第一个,那就像这样使用SheetName!CellAddress

=WorksheetName!A1

只需替换工作表的名称和相应的单元格。

答案 3 :(得分:0)

在工作簿中的某处创建命名区域,然后在textbox linkedcell属性中键入该名称。