我对代码有疑问。我不确定它是否可行,我试图找到它的答案。
但是,是否可以反转代码中的等号?
示例代码:
Worksheets("Example").Cells(1, 1).value = Me.checkbox1.value
这将使Cell A1的值为True或False。
但是,如果我想以相反的方式做到这一点?来自A1的数据给出了复选框的值?
只有这样的一行代码很容易重新输入,但是如果你有一个来自用户表单的100个代码,那就太烦人了,只需要很多时间。
有什么想法吗?
答案 0 :(得分:1)
按下CommandButton1
时:
如果没有按下切换按钮,代码将读取标签值并将数据从工作表复制到表单。
如果按下切换按钮,代码将读取标签值并将数据从表单复制到工作表。
Private Sub CommandButton1_Click()
Dim ctrl As Control
Dim vTag As Variant
For Each ctrl In UserForm1.Controls
If TypeName(ctrl) = "CheckBox" Then
vTag = Split(ctrl.Tag, "|")
If UserForm1.ToggleButton1 Then
ctrl = ThisWorkbook.Worksheets(vTag(0)).Range(vTag(1))
Else
ThisWorkbook.Worksheets(vTag(0)).Range(vTag(1)) = ctrl
End If
End If
Next ctrl
End Sub
答案 1 :(得分:-1)
方法1
将要反转的语句复制到从单元格A1开始的工作表。
将单元格B1设置为公式:= FIND(“=”,A1)
将单元格C1设置为公式:= MID(A1,B1 + 1,LEN(A1)-B1)&“=”& MID(A1,1,B1-1)
将单元格B1和C1复制下来
单元格C1和向下将包含您希望复制回模块或表单的语句。
如果要反转的语句在少量块中,这种方法就足够了。如果语句通过模块或表单展开,这将比重新输入更好,但不如人们想要的那样方便。如果它们分散开来。请提供有关包含声明的模块和/或表单的更多信息。
修改强>
重读上述内容,我意识到图像会有所帮助:
大多数作业都不是很富有想象力,但你可以看到这个想法。我假设你们大多数作业分为两个部分:(1)形成工作表,(2)再次返回。如果是这种情况,那就非常简单了。