gpt4 book ai didi

excel - 在不同的工作表上输入时更改从一个工作表派生的用户表单标签

转载 作者:行者123 更新时间:2023-12-04 20:31:32 26 4
gpt4 key购买 nike

我有一个运行举重比赛的工作表。去年,我创建了一个标签,提供有关当前举重者和下一个举重者的信息。

left side - Display, right side - input tab

当我在数据选项卡上的 R、S、T 或 W 列中输入“x”时,它会更改 BenchGenerator 选项卡中的信息,如下所示:

Updated Display tab

我想要做的是让用户窗体显示在不同的屏幕上运行,以便人们可以看到这些信息。去年,我通过扩大 Excel 并使用两个 View 窗口(在第二个屏幕上显示并在计算机上运行 session )实现了这一点。没关系,但看起来很笨重。使用 float 用户表单选项卡,它看起来很棒。我对此并不陌生,但表格 float :

Private Sub Worksheet_Change(ByVal Target As Range)
UserForm1.Show (vbModeless)
End Sub

并得到最初填充的标签:

Userform Display

使用此代码:
Private Sub UserForm_Activate()
UserForm1.Label1.Caption = Sheets("BenchGenerator").Range("c4").Value
UserForm1.Label2.Caption = Sheets("BenchGenerator").Range("c5").Value
UserForm1.Label3.Caption = Sheets("BenchGenerator").Range("c6").Value
UserForm1.Label4.Caption = Sheets("BenchGenerator").Range("d3").Value
UserForm1.Label5.Caption = Sheets("BenchGenerator").Range("d4").Value
UserForm1.Label6.Caption = Sheets("BenchGenerator").Range("d5").Value
UserForm1.Label7.Caption = Sheets("BenchGenerator").Range("d6").Value
End Sub

它目前不做的是当我在数据选项卡中输入“x”时更新标题。

正如我所提到的,这是我第一次涉足用户表单并通过大量代码试图弄清楚这一点,这不会是我的最后一次,因为有很多事情要做。

提前感谢您的帮助!

最佳答案

你已经很接近让这个工作了。问题是每次发生更改时您都会调用一个新表单。

将您的表单声明为 Sub 之外的对象创建(Show)它。

然后您可以访问它以更新另一个 Sub 的标签。具有相同的范围。

创建 UpdateForm例如,从您的 Worksheet_Change 调用它事件。

试试这个,将以下代码放在一个新的模块中:

Dim myForm As Object

Sub launchForm()
Set myForm = UserForm1
myForm.Show (vbModeless)
End Sub

Sub updateForm()
Dim wks As Worksheet
Set wks = Sheets("BenchGenerator")

'Update label values here
myForm.Label1.Caption = wks.Range("C4").Value
myForm.Label2.Caption = wks.Range("C5").Value
myForm.Label3.Caption = wks.Range("C6").Value
myForm.Label4.Caption = wks.Range("D3").Value
myForm.Label5.Caption = wks.Range("D4").Value
myForm.Label6.Caption = wks.Range("D5").Value
myForm.Label7.Caption = wks.Range("D6").Value
End Sub

如果您使用 Worksheet_Change要更新表单,您需要验证表单是否存在,或者如果不存在则跳过事件中的任何错误。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
updateForm
End Sub

关于excel - 在不同的工作表上输入时更改从一个工作表派生的用户表单标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49693596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com