LibreOffice Calc BASIC:工作表文本框的文本插入与删除实现
引用工作表文本框并实现提交/清除功能的VBA代码示例
Excel中的文本控件分ActiveX文本框和表单控件文本框两类,引用方式不同,以下针对两种场景分别给出提交、清除功能的代码实现(假设你的用户窗体包含4个输入框TextBox1~TextBox4,以及「提交」按钮CommandButton1、「清除」按钮CommandButton2):
1. 提交对话框数据到工作表文本框
场景1:使用ActiveX文本框(工作表插入的ActiveX控件)
ActiveX文本框可直接通过工作表+控件名称引用:
Private Sub CommandButton1_Click() ' 将对话框输入内容赋值给Sheet1的ActiveX文本框(替换为你的实际工作表和控件名) Sheet1.SheetTextBox1.Value = Me.TextBox1.Value Sheet1.SheetTextBox2.Value = Me.TextBox2.Value Sheet1.SheetTextBox3.Value = Me.TextBox3.Value Sheet1.SheetTextBox4.Value = Me.TextBox4.Value ' 提交后可选择关闭对话框 Unload Me End Sub
场景2:使用表单控件文本框(表单控件组的文本框)
表单控件文本框需通过工作表的Shapes集合引用,注意控件名称是Excel自动分配的(如"TextBox 1"):
Private Sub CommandButton1_Click() ' 将对话框输入内容赋值给Sheet1的表单控件文本框(替换为你的实际名称) Sheet1.Shapes("TextBox 1").TextFrame2.TextRange.Text = Me.TextBox1.Value Sheet1.Shapes("TextBox 2").TextFrame2.TextRange.Text = Me.TextBox2.Value Sheet1.Shapes("TextBox 3").TextFrame2.TextRange.Text = Me.TextBox3.Value Sheet1.Shapes("TextBox 4").TextFrame2.TextRange.Text = Me.TextBox4.Value Unload Me End Sub
2. 清除工作表文本框数据
场景1:ActiveX文本框
Private Sub CommandButton2_Click() ' 清空工作表ActiveX文本框内容 Sheet1.SheetTextBox1.Value = "" Sheet1.SheetTextBox2.Value = "" Sheet1.SheetTextBox3.Value = "" Sheet1.SheetTextBox4.Value = "" ' 可选:同时清空对话框输入框 Me.TextBox1.Value = "" Me.TextBox2.Value = "" Me.TextBox3.Value = "" Me.TextBox4.Value = "" End Sub
场景2:表单控件文本框
Private Sub CommandButton2_Click() ' 清空工作表表单控件文本框内容 Sheet1.Shapes("TextBox 1").TextFrame2.TextRange.Text = "" Sheet1.Shapes("TextBox 2").TextFrame2.TextRange.Text = "" Sheet1.Shapes("TextBox 3").TextFrame2.TextRange.Text = "" Sheet1.Shapes("TextBox 4").TextFrame2.TextRange.Text = "" ' 可选:同时清空对话框输入框 Me.TextBox1.Value = "" Me.TextBox2.Value = "" Me.TextBox3.Value = "" Me.TextBox4.Value = "" End Sub
注意事项
- 确认工作表名称和文本框名称正确:ActiveX文本框可在「开发工具→设计模式」下选中查看名称;表单控件文本框右键→「查看名称」获取。
- 若操作其他工作表,替换代码中的
Sheet1为目标工作表的名称或代码名(如Sheet2)。
内容的提问来源于stack exchange,提问作者Marcin
相关产品推荐
相关产品推荐

