VBA Excel UserForm文本框指定单元格写入选项按钮值需求
Excel VBA UserForm 动态写入单元格实现方案
核心逻辑
点击CommandButton1时,程序会完成以下操作:
- 读取
TextBox1中输入的单元格引用(如B12、C9) - 判断选中的选项按钮,取出其对应预存在单元格中的内容
- 将内容写入
TextBox1指定的目标单元格
代码实现
在UserForm的代码模块中粘贴以下代码:
Private Sub CommandButton1_Click() Dim targetCell As Range Dim selectedValue As Variant ' 验证文本框输入是否为合法单元格引用 On Error Resume Next Set targetCell = ThisWorkbook.ActiveSheet.Range(TextBox1.Value) On Error GoTo 0 If targetCell Is Nothing Then MsgBox "请输入合法的单元格引用(如B12)", vbExclamation Exit Sub End If ' 判断选中的选项按钮,获取对应预存内容 ' 假设选项按钮对应内容存在Sheet1的A1、A2单元格,可自行修改单元格位置 If OptionButton1.Value = True Then selectedValue = ThisWorkbook.Sheets("Sheet1").Range("A1").Value ElseIf OptionButton2.Value = True Then selectedValue = ThisWorkbook.Sheets("Sheet1").Range("A2").Value ' 如有更多选项按钮,继续添加ElseIf分支 Else MsgBox "请选择一个选项", vbExclamation Exit Sub End If ' 将内容写入目标单元格 targetCell.Value = selectedValue End Sub
关键说明
- 动态目标单元格:通过
Range(TextBox1.Value)直接解析文本框输入,无需修改代码即可变更目标位置 - 选项内容关联:代码中
Sheet1.Range("A1")等是选项按钮对应的预存内容单元格,根据实际存储位置修改即可 - 错误处理:加入了输入合法性验证,避免因无效单元格引用导致程序报错
内容的提问来源于stack exchange,提问作者Sullivan2021
相关产品推荐
相关产品推荐

