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 name
是Sheet7
(代号与工作表名称不同)
【参考方案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属性如何使用?的主要内容,如果未能解决你的问题,请参考以下文章