【问题标题】:Populate Userform Labels填充用户表单标签
【发布时间】:2018-04-25 09:20:13
【问题描述】:

我有一种情况,我需要根据所选语言填充用户窗体上的标签。

表 2 包含 C 列中的标签名称列表,从第 9 行开始,相邻的 D 到 F 列包含每个标签应具有的基于所选语言的标题文本。选择一种语言会在单元格 C2 中填充一个代表要使用的列的数字,即第 4、5 或 6 列 (languageCol)。我尝试了以下代码的各种迭代,但无法填充标签。

Dim Cell As Range
Dim l As Integer
Dim languageCol As Integer

languageCol = Sheet2.Range("C2")

For Each Cell In Sheet2.Range("C9", Sheet2.Cells(Rows.Count, "C").End(xlUp)).Cells
    For l = 1 To 5
        Me.Controls("frm_Details" & l).Caption = Cell.Offset(, languageCol).Text
    Next l
Next Cell

【问题讨论】:

  • 您是否遇到错误,或者问题是否以其他方式表现出来?
  • 未报告错误但未填充标签
  • l 循环中,添加一行:Debug.Print Cell.Offset(, languageCol).Address 以检查它在哪里寻找文本。

标签: excel userform vba


【解决方案1】:

解决了。问题是我如何为表单上的每个控件定义名称。解决方法如下

For Each Cell In Sheet2.Range("C9", Sheet2.Cells(Rows.Count, "C").End(xlUp)).Cells
    Me.Controls(Cell.Text).Caption = Cell.Offset(, languageCol).Text
Next Cell

【讨论】:

    猜你喜欢
    • 2015-01-26
    • 2015-04-14
    • 2021-08-24
    • 2019-10-22
    • 1970-01-01
    • 2016-02-29
    • 2015-05-18
    • 1970-01-01
    • 2017-08-07
    相关资源
    最近更新 更多