我收到了关于代码的问题。我不确定它是否可行,我试图找到答案。逆向等号
但是,是否有可能扭转代码中的等号?
示例代码:
Worksheets("Example").Cells(1, 1).value = Me.checkbox1.value
这会给单元格A1的值真或假。
但是如果我想让它变成另一种方式呢?来自A1的数据为我提供了复选框的值?
这样只有一行代码很容易重新输入,但是如果你有一个来自用户表单的代码,它很烦人,只需要很多时间。
任何想法?
我收到了关于代码的问题。我不确定它是否可行,我试图找到答案。逆向等号
但是,是否有可能扭转代码中的等号?
示例代码:
Worksheets("Example").Cells(1, 1).value = Me.checkbox1.value
这会给单元格A1的值真或假。
但是如果我想让它变成另一种方式呢?来自A1的数据为我提供了复选框的值?
这样只有一行代码很容易重新输入,但是如果你有一个来自用户表单的代码,它很烦人,只需要很多时间。
任何想法?
当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
复制你想扭转到工作表起始单元格A1的语句。
设置单元B1到公式:= FIND( “=”,A1)
集小区C1到公式:= MID(A1,B1 + 1,LEN(A1)-B1)&“= “& MID(A1,1,B1-1)
复制单元格B1和C1下跌
细胞C1和向下将包含你要准备复制回模块或窗体的语句。
如果要反转的语句只在少量块中,这种方法就足够了。如果这些陈述是通过模块或表单分布的,那么这将比重新输入更好,但不如人们想要的方便。如果它们分散开来。请提供有关包含报表的模块和/或表单的更多信息。
编辑
重读上面,我实现的图像将帮助:
大部分的分配不是很富有想象力,但你可以看到这个想法。我假设你们大部分的任务分为两个部分:(1)形成工作表和(2)再回来。如果是这种情况,那很简单。
我会为控件添加一个标记值,指定从哪里获取数据,然后遍历表单上的每个控件并读取标记。 –
您必须更改代码中的每一行。这显示了你设计好代码的重要性,这样你就不会有像这样的100行代码。 – trincot
嗯,我不知道如何避免大量的用户形式的代码。 –