更新於 2024/08/31閱讀時間約 2 分鐘

[VBA] 從視窗按鈕輸入文字 (方法1)

目的:

在空白儲存格,滑鼠左鍵連點兩下,跳出視窗,再從視窗內的按鈕上的文字來輸入至當前儲存格內。

成果:

以下是成果影片,請先欣賞~ 謝謝。


工作表

【工作表1】內的程式碼

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' 檢查是否是空白儲存格
Set CurCell = Target
If Target.Value = "" Then
UserForm1.Show
Cancel = True ' 取消默認的雙擊編輯動作
End If
Set CurCell = Nothing
End Sub


表單

【UserForm1】內的程式碼

Private Sub FastFood_Button1_Click()
CurCell.Value = FastFood_Button1.Caption
UserForm1.Hide ' 隱藏 UserForm
End Sub

Private Sub FastFood_Button2_Click()
CurCell.Value = FastFood_Button2.Caption
UserForm1.Hide ' 隱藏 UserForm
End Sub


Private Sub Fruit_Button1_Click()
CurCell.Value = Fruit_Button1.Caption
UserForm1.Hide ' 隱藏 UserForm
End Sub

Private Sub Fruit_Button2_Click()
CurCell.Value = Fruit_Button2.Caption
UserForm1.Hide ' 隱藏 UserForm
End Sub


模組

【Module1】內的程式碼

Public CurCell As Range



優缺點如下:


優點:

  1. 當按鈕數量少時適用。
  2. 程式碼容易編寫與理解。

缺點:

當 同類型按鈕 數量較多時,會有以下兩點,

  1. 版面維護較難。
  2. 程式碼會很冗長。



檔案下載


下一篇 [VBA] 從視窗按鈕輸入文字 (方法2),將使用「物件類別模組」來改善 (方法1) 的缺點,敬請期待 ~

以上就是這次的分享,請持續關注Meiko微課頻道,謝謝大家 ~

有任何問題,請在下方留言討論,或加入 LINE社群 Meiko微課小綠群(粉絲交流群),歡迎您的加入。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.