請問一下
我有一個表單C想設計被其他表單(A或B)呼叫(登入認證),當驗證OK後 會回填資料到原本的表單(A或B)
在工作表我會寫
Dim ws as worksheet
set ws=Thisworkboo.worksheet(工作表名稱)
ws.textbox1="xxxx" <----想執行的動作
若要指定某一個表單的話 可以如何寫呢?
上網查過 下列兩種方式,仍無法使用
-自答----- 分隔線 表單C內 以下3種都可達到 ----20230602編輯
1.)
Public tmpFrm As Object
Set tmpFrm = CallByName(UserForms, "Add", VbMethod, 工作表名稱)
或
2.)
Public tmpFrm As UserForm
Set tmpFrm = VBA.UserForms.Add(工作表名稱)
3.)
public Z as Object
For Each Z In UserForms
If Z.Name = (表單A 或表單B名稱)Then Set tmpFrm = Z
Next
我按照理解的部分講
假設是先呼叫sheetC,做完動作後跳到sheetB。
你可以用"Sheets("sheet名稱").Select"。
例如:
Sheets("sheetC").Select
直接在底下寫你要在這張sheet做的動作。
做完接Sheets("sheetB").Select,這樣就可以切換了。
假設是form切換,可以formB.Activate、formC.Hide
formC 做完動作後,formB.Activate,formC.Hide可以切換
傳遞資料:
formC:
Public ValueC as String
Private Sub Form_Load()
ValueC = "Value"
End Sub
formB:
Private Sub Command_Click()
Text1.Text = formC.ValueC
End Sub
我只會這些,你參考一下。