Note: The other languages of the website are Google-translated. Back to English

วิธีเพิ่มปุ่มแบบกำหนดเองในเมนูคลิกขวา / บริบทใน Excel

ตามภาพหน้าจอด้านล่างที่แสดงหลาย ๆ คนมักจะเพิ่มฟังก์ชันที่ใช้บ่อยลงในเมนูคลิกขวาของ Excel เพื่อใช้ฟังก์ชันเหล่านี้ได้อย่างรวดเร็วด้วยการคลิกเพียงครั้งเดียวในอนาคต บทความนี้พูดถึงการเพิ่มปุ่มโค้ดที่กำหนดเองลงในเมนูคลิกขวาใน Excel

เพิ่มปุ่มแบบกำหนดเองลงในเมนูบริบทใน Excel ด้วยรหัส VBA


เพิ่มปุ่มแบบกำหนดเองลงในเมนูบริบทใน Excel ด้วยรหัส VBA


สมมติว่าคุณได้สร้างสคริปต์ VBA ชื่อ MyMacro ใน Excel ของคุณและตอนนี้คุณต้องเพิ่มฟังก์ชันนี้ในเมนูบริบทเพื่อเรียกใช้โค้ดโดยคลิกที่มัน กรุณาดำเนินการดังนี้

1 กด อื่น ๆ + F11 พร้อมกันเพื่อเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน ดับเบิลคลิก สมุดงานนี้ ทางด้านซ้าย โครงการ บานหน้าต่าง จากนั้นคัดลอกและวางโค้ด VBA ด้านล่างลงในไฟล์ ThisWorkbook (รหัส) หน้าต่าง

รหัส VBA: เพิ่มปุ่มที่กำหนดเองลงในเมนูบริบทใน Excel

Private Sub Workbook_Deactivate()
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
        End With
    On Error GoTo 0
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim cmdBtn As CommandBarButton
    On Error Resume Next
        With Application
            .CommandBars("Cell").Controls("MyMacro").Delete
            Set cmdBtn = .CommandBars("Cell").Controls.Add(Temporary:=True)
        End With

        With cmdBtn
           .Caption = "MyMacro"
           .Style = msoButtonCaption
           .OnAction = "MyMacro"
        End With
    On Error GoTo 0
End Sub

หมายเหตุ: ในรหัสโปรดแทนที่ทั้งหมด “ MyMacro” ด้วยชื่อแมโครที่คุณสร้างใน Excel ของคุณ

3 กด อื่น ๆ + Q ปุ่มเพื่อออกจากไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

ตอนนี้คุณกลับไปที่อินเทอร์เฟซ Excel หลังจากคลิกขวาที่เซลล์คุณจะเห็นปุ่มใหม่ที่มีชื่อที่ระบุถูกเพิ่มเข้าไปในเมนูคลิกขวาตามภาพด้านล่างที่แสดง คลิกปุ่มจะเรียกใช้มาโครที่เกี่ยวข้องทันที


บทความที่เกี่ยวข้อง:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (15)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เพิ่มปุ่ม VBA ให้กับเมนูบริบททำงานได้ดี ขอบคุณ. ฉันจะเพิ่มปุ่มเพิ่มเติมได้อย่างไร (ไม่เก่ง VBA เลยเป็นคำถาม)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีวิค
รหัส VBA ต่อไปนี้สามารถช่วยคุณแก้ปัญหาได้ โปรดลองดู

Private Sub Workbook_Deactivate ()
Dim xArrB เป็น Variant
Dim xFNum เป็นจำนวนเต็ม
Dim xStr เป็นสตริง
เกี่ยวกับข้อผิดพลาดต่อไป
ด้วยแอพพลิเคชั่น
xArrB = Array("MyMacro01", "MyMacro02", "MyMacro03")
สำหรับ xFNum = 0 ถึง UBound(xArrB)
xStr = xArrB(xFNum)
.CommandBars("Cell")).Controls(xStr).Delete
ถัดไป xFNum
จบด้วย
เมื่อเกิดข้อผิดพลาด GoTo 0
ย่อยสิ้นสุด

Private Sub Workbook_SheetBeforeRightClick (ByVal Sh As Object, ByVal Target As Range, ยกเลิกเป็นบูลีน)
Dim cmdBtn เป็น CommandBarButton
Dim xArrB เป็น Variant
Dim xFNum เป็นจำนวนเต็ม
Dim xStr เป็นสตริง
เกี่ยวกับข้อผิดพลาดต่อไป
xArrB = Array("MyMacro01", "MyMacro02", "MyMacro03")
สำหรับ xFNum = 0 ถึง UBound(xArrB)
xStr = xArrB(xFNum)
ด้วยแอพพลิเคชั่น
.CommandBars("Cell")).Controls(xStr).Delete
ตั้งค่า cmdBtn = .CommandBars("Cell")).Controls.Add(Temporary:=True)
จบด้วย
ด้วย cmdBtn
.Caption = xStr
.Style = msoButtonCaption
.OnAction = xStr
จบด้วย
ถัดไป xFNum
เมื่อเกิดข้อผิดพลาด GoTo 0
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ใช้ไม่ได้กับฉัน ฉันทำแบบเดียวกับมาโครด้านบนด้วยเมนูเดียวเท่านั้น ใช้ได้กับคนอื่นหรือฉันทำอะไรผิดหรือเปล่า

ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่ทำงานกับ Excel 2013 ของฉัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Yves ฉันทดสอบโค้ดนี้ใน Excel 2013 และใช้งานได้ดี คุณได้รับข้อความแจ้งข้อผิดพลาดหรือไม่? ฉันต้องการทราบเฉพาะเจาะจงมากขึ้นเกี่ยวกับปัญหาของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณสำหรับคำตอบของคุณแต่ใช้ไม่ได้บนโต๊ะ ในเซลล์ปกติทำงานได้อย่างสมบูรณ์
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีอีฟ ตอนนี้ปัญหานั้นชัดเจนแล้ว และฉันต้องการเวลาแก้ไข โปรดรอ. ขอบคุณสำหรับความคิดเห็นของคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณ
ใช้งานได้กับเวิร์กบุ๊กทั้งหมดหลังจากรีสตาร์ท Excel หรือเฉพาะเวิร์กบุ๊กที่เลือกซึ่งบันทึกมาโครไว้หรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี
ใช้งานได้กับเวิร์กบุ๊กที่บันทึกมาโครเท่านั้น ขอบคุณสำหรับความคิดเห็น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
размести код в отдельном модуле, для того чтобы это работало для всех документов
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี,

Je déterre le sujet car j'ai un soucis, j'ai récupérer un fichier qui m'a remplacé le menu du click droit et je ne sais pas comment revenir au menu par défaut...
Ça ตัวแก้ไข le เมนูสำหรับ n'importe quel fichier excel J'utilise excel 2016

Je précise que le fichier coupable a un mot de passe pour accéder à son รหัส VBA. Mot de passe qu'évidemment je ne possède pas..

Merci d'avance เทผู้ช่วยโหวต !!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีโอลิเวียร์
ขอโทษ ฉันไม่ค่อยเข้าใจที่คุณหมายถึง คุณหมายถึงการกลับไปที่เมนูคลิกขวาปกติหรือไม่?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Zdravím dokázal byste mi prosím někdo poradit s podobným ปัญหา? Po posledním updatu สำนักงาน přibyla v excelu po stisknutí pravého tlačítka nad kopírovat a vyjmout volba hledat v nabídkách která mi tam vadí a chtěl bych jí odstranit. Dá se ถึง udělat i obráceně a nějakou funkci odstranit?

ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Tomáš,
ฉันไม่ได้เจอสถานการณ์นี้ คุณแนบภาพหน้าจอเพื่ออธิบายปัญหาที่คุณพบให้ชัดเจนยิ่งขึ้นได้ไหม
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ