Excel VBA中的ThisCell属性如何使用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel VBA中的ThisCell属性如何使用?相关的知识,希望对你有一定的参考价值。

参考技术A ThisCell 属性
返回单元格,在该单元格中,将用户定义的函数作为 Range 对象进行调用。
主要用在用户定义的函数中,用户不能访问 Range 对象上的属性或方法。当完成了重新计算后,用户可以为今后的使用和执行附加操作而存储 Range 对象。

通俗的说,就是在自定义函数的,对当前单元格的range 属性操作

Function UseThisCell()

MsgBox "The cell address is: " & Application.ThisCell.Address

End Function
参考技术B Sub Tell()
Me.Cells(1)(1).Value = "ABC"
End Sub

如何使用 VBA 根据活动工作表中的单元格自动填充 Excel 表单?

【中文标题】如何使用 VBA 根据活动工作表中的单元格自动填充 Excel 表单?【英文标题】:How to autofill the excel form based on the cell in the active worksheet using VBA? 【发布时间】:2021-01-12 06:33:01 【问题描述】:

我创建了一个 Excel 表单,并希望表单中的文本框能够由单元格 B2 中的值自动填充。我曾尝试过,但似乎我在 VBA 中的代码对我不起作用。我在下面附上了我的代码。

Private Sub UserForm_Click()

    With UserForm1
        .txtTextBox1.Value = Sheet7.Range("B10").Value
        
    End With


End Sub

【问题讨论】:

对我来说很好。我看到了一些明显的错误:您引用了B10,但您的值在B2 - 您放置它的事件是表单的单击事件,放置它似乎是一个奇怪的地方,但如果您单击它就可以了按预期在表格上。您是否可能试图将其放在Initialize 事件的形式上?这也假设工作表的code nameSheet7(代号与工作表名称不同) 【参考方案1】:

使用如下形式的Initialize 事件。

Private Sub UserForm_Initialize()
    Me.TextBox1 = Sheets("Sheet1").Range("B10") 'Change sheet1 to your sheet name.
End Sub

【讨论】:

感谢 Harun24HR,如果我在单元格 B10 中的值是数字而不是文本,我可以知道表单会将其定义为文本或数字吗? 表单上的文本框始终被视为文本,而不是数字。 如果不是文本框而是选项按钮,VBA 代码是否可以工作?这意味着基于单元格B10的代码能够根据单元格B10的值选择正确的选项按钮 @Elvis 然后需要对代码进行一些修改。会的。 我该怎么做?

以上是关于Excel VBA中的ThisCell属性如何使用?的主要内容,如果未能解决你的问题,请参考以下文章

[VBA] 如何 隐藏 Excel 主窗口

对于 Excel VBA 中的每个类属性

vba,设置,excel,wps ,页面设置

如何使用 Excel 中的 VBA 重命名访问表?

[Excel VBA]单元格区域引用方式的小结

怎么用vba给excel 加密