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

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

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

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

这是另一种方式:

创build一个模块,并把这个代码放在那里。 这需要针对您自己的特定文本框名称和表名进行configuration

Public Sub UpdateTextBoxes(str As String) Sheets("sheet1").TextBox1.Text = str Sheets("sheet2").TextBox1.Text = str Sheets("sheet3").TextBox1.Text = str End Sub 

然后,对于您希望复制的每个文本框对象,将其用于更改事件(Sheet Class Module)(更改参数以满足您的需要)

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

这样,你可以命名你的控件,但是你认为合适,你可以更新任何文本框中的文本,并且它们将始终保持一致。

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

 =Sheet1!A1 

现在,无论您在Sheet1上的文本框中input的内容都将位于表2-4中的文本框中。 如果您在2-4中的文本框中input任何内容,则会中断链接。 但从你的问题来看,你似乎只想input第一个。

这是另一种方式。

 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上的一个,其他工作表上的更改都会更改。

你想要其他的文本框是可编辑的,或只是始终显示的第一个内容? 当用户编辑第二,第三等(在第一种情况下)时,其他文本框会发生什么? 这些问题将影响解决scheme…但是,如果您只是想模仿第一个框,然后使用SheetName!CellAddress像这样:

 =WorksheetName!A1 

只需要replace工作表的名称和适当的单元格。

在工作簿中的某个位置创build一个命名范围,然后在文本框的linkedcell属性中input该名称。