我收到了關於代碼的問題。我不確定它是否可行,我試圖找到答案。逆向等號
但是,是否有可能扭轉代碼中的等號?
示例代碼:
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
嗯,我不知道如何避免大量的用戶形式的代碼。 –