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

วิธีทริกเกอร์หรือเรียกใช้แมโครโดยคลิกเซลล์เฉพาะใน Excel

ในขณะที่ทำงานกับ Microsoft Excel คุณอาจรู้วิธีเรียกใช้ Macro บางตัวด้วยปุ่มคำสั่ง แต่คุณรู้วิธีเรียกใช้มาโครเพียงแค่คลิกที่เซลล์ใดเซลล์หนึ่งในแผ่นงานหรือไม่? บทความนี้จะแสดงวิธีการเรียกใช้มาโครโดยคลิกที่เซลล์ใดเซลล์หนึ่งโดยละเอียด

ทริกเกอร์หรือเรียกใช้มาโครโดยคลิกเซลล์ที่ต้องการด้วยรหัส VBA


ทริกเกอร์หรือเรียกใช้มาโครโดยคลิกเซลล์ที่ต้องการด้วยรหัส VBA

รหัส VBA ต่อไปนี้สามารถช่วยให้คุณเรียกใช้แมโครได้โดยคลิกเซลล์ที่ต้องการใน Excel กรุณาดำเนินการดังนี้

1. บนแผ่นงานที่มีเซลล์ที่คุณต้องคลิกเพื่อเรียกใช้แมโครคลิกขวาที่แท็บแผ่นงานจากนั้นคลิก ดูรหัส จากเมนูบริบท

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน คัดลอกและวางสคริปต์ VBA ด้านล่างลงในหน้าต่างรหัส

รหัส VBA: ทริกเกอร์หรือเรียกใช้มาโครโดยคลิกเซลล์ที่ต้องการ

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("D4")) Is Nothing Then
            Call MyMacro
        End If
    End If
End Sub

หมายเหตุ:

1. ในโค้ด D4 คือเซลล์ที่คุณจะคลิกเพื่อเรียกใช้ Macro

2. โปรดเปลี่ยนชื่อรหัส มายมาโคร ด้วยมาโครคุณจะเรียกใช้ในแผ่นงาน ดูภาพหน้าจอ:

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

จากนี้ไปเมื่อคลิกที่เซลล์ D4 ในแผ่นงานปัจจุบันมาโครที่คุณระบุจะถูกเรียกใช้ทันที


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


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

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
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (37)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทริกเกอร์หรือเรียกใช้แมโครโดยการคลิกเซลล์ที่ระบุด้วยรหัส VBA ไม่สามารถทำงานได้ ฉันลองหลายวิธีแล้ว แต่ก็ไม่สำเร็จตามที่สัญญาไว้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสนี้จะใช้ได้ก็ต่อเมื่อคุณวางไว้ในโมดูล "ThisWorkbook" ใช้งานไม่ได้กับโมดูลทั่วไป
ชื่อเวิร์กบุ๊ก > ออบเจ็กต์ Microsft Excel > ThisWorkbook
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสนี้จะทำงานในโมดูลรหัสเวิร์กชีต คุณต้องคลิกขวาที่แท็บแผ่นงานแล้วคลิก 'ดูรหัส' ซึ่งจะเปิดโมดูลโค้ดสำหรับเวิร์กชีตนั้นเท่านั้น จากนั้นวางรหัสดังกล่าว
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
หากคุณต้องการมีมาโครหลายตัว เซลล์ที่เรียกใช้มาโครหลายตัวในหน้าเดียวกัน เป็นไปได้ไหม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไซม่อนที่รัก
สคริปต์ VBA ด้านล่างสามารถช่วยให้คุณเรียกใช้มาโครต่างๆ ได้โดยคลิกที่เซลล์ในหน้าเดียวกัน

แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
ถ้า Target.Count = 1 แล้ว
ถ้าไม่ตัดกัน(เป้าหมาย ช่วง("D4")) ไม่มีอะไร ให้โทรไปที่ MyMacro1
ถ้าไม่ตัดกัน(เป้าหมาย ช่วง("D8")) ไม่มีอะไร ให้โทรไปที่ MyMacro2
ถ้าไม่ตัดกัน(เป้าหมาย ช่วง("D10")) ไม่มีอะไร ให้โทรไปที่ MyMacro3
End If
ย่อยสิ้นสุด

โปรดเพิ่มบรรทัด "If Not Intersect(Target, Range("D10")) Is Nothing Then Call MyMacro" เพื่อเรียกใช้มาโครเพิ่มเติมโดยคลิกที่เซลล์ และเปลี่ยนชื่อเซลล์และมาโครในโค้ดตามความต้องการของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มันไม่ทำงานบน Excel ของฉัน รหัสถูกต้องหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคามิล่า
ขออภัยในความไม่สะดวก. ลองใช้โค้ด VBA ด้านล่าง

แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
Dim xRgArr เป็นตัวแปร
Dim xFunArr เป็นตัวแปร
Dim xFNum เป็นจำนวนเต็ม
Dim xStr เป็นสตริง
Dim xRg เป็นช่วง
xRgArr = Array("A1", "D1", "C1") 'เซลล์ที่ใช้เรียกมาโคร
xFunArr = Array("Code name1", "Code name2", "Code name3") 'ชื่อรหัสที่เกี่ยวข้อง
ถ้า Selection.Count = 1 แล้ว
สำหรับ xFNum = 0 ถึง UBound(xRgArr)
ตั้งค่า xRg = ActiveSheet.Range(xRgArr(xFNum))
ถ้าไม่ตัดกัน (เป้าหมาย xRg) ก็ไม่มีอะไรทั้งนั้น
xStr = xFunArr(xFNum)
แอปพลิเคชันเรียกใช้ xStr
End If
ต่อไป
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งนี้ทำงานได้อย่างสมบูรณ์และจะช่วยฉันประหยัดเวลา ขอบคุณมากสำหรับการแบ่งปันความรู้ของคุณ - ชื่นชมมาก!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันดีใจที่ฉันสามารถช่วยได้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ยอดเยี่ยม. ใช้งานได้ดีครับ...ขอบคุณครับ....
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี

ฉันใช้งานได้ดี แต่ต้องการเพิ่มเงื่อนไขในการเรียกใช้แมโคร ฉันต้องการเรียกใช้มาโครก็ต่อเมื่อเซลล์ข้างๆ เซลล์ที่ฉันคลิกเข้าไปมีค่าบางอย่าง
เช่น เมื่อฉันคลิกเซลล์ F6 ฉันต้องการให้แมโครทำงานหากเซลล์ E6 มี "x" แต่ถ้าเซลล์ E6 ว่างเปล่า แมโครจะต้องไม่ทำงาน
หวังว่าคงสมเหตุสมผล
ขอบคุณ

นี่คือรหัสดั้งเดิมของฉันโดยไม่มีเงื่อนไข:


ตัวเลือกที่ชัดเจน

แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
ถ้า Selection.Count = 1 แล้ว
ถ้าไม่ตัดกัน(Target, Range("F6:F18")) ก็ไม่มีอะไรทั้งนั้น
โทร datePick
End If
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี
รหัส VBA ต่อไปนี้สามารถช่วยคุณแก้ปัญหาได้ โปรดลองและขอขอบคุณสำหรับความคิดเห็นของคุณ

แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
Dim xRg เป็นช่วง
ถ้าไม่ตัดกัน(Target, Range("F6:F18")) ก็ไม่มีอะไรทั้งนั้น
ตั้งค่า xRg = ActiveSheet.Cells(Target.Row, Target.Column - 1)
ถ้า (xRg.Value = "") หรือ (xRg.Value <> "X") จากนั้นออกจาก Sub
โทร datepick
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณ แต่แล้วเซลล์ที่ผสานล่ะ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีอัลเบอร์
รหัสไม่ทำงานสำหรับเซลล์ที่ผสาน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันใช้ OpenOffice และได้คลิกขวาบนแท็บแผ่นงานและเลือกเหตุการณ์ จากนั้นเลือกมาโครนี้จาก MyMacros อย่างไรก็ตาม ฉันได้รับข้อผิดพลาดในบรรทัดต่อไปนี้: หาก Selection.Count = 1 แล้ว >>> "ข้อผิดพลาดรันไทม์พื้นฐาน ไม่ได้กำหนดตัวแปร...
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เจมส์ hi,
รหัสนี้ใช้ได้กับ Microsoft Office Excel เท่านั้น ขอบคุณสำหรับความคิดเห็นของคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสเต็มของฉันในมาโครนี้คือ:


แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)

Dim val เป็นสตริง
REM val = ช่วง ("A2") .Value

ถ้า Selection.Count = 1 แล้ว
ถ้าไม่ตัดกัน(เป้าหมาย, ช่วง("D24")) ก็ไม่มีอะไรทั้งนั้น
REM โทร MyMacro
val = ช่วง ("D24") .Value
ช่วง ("B27") .Value = val
End If
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
หัวข้อนี้น่าสนใจมากและฉันสนใจแต่ไม่รู้ว่าจะหาได้จากที่ไหน ขอบคุณที่คุณสร้างหัวข้อนี้ขึ้นมา หวังว่าทุกคนจะช่วยฉัน http://run-3.online
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Excel 2002 (XP): หากเวิร์กบุ๊กเปิดขึ้นโดยเลือก "ไฟล์" และกด "Shift" จะเป็นการปิดใช้งานมาโครในชีตนั้น ปัญหาคือถ้าฉันเลือก "เครื่องมือ > มาโคร > มาโคร..." ฉันสามารถเรียกใช้แมโครได้ ยังไงก็ต้องแก้ยังไง?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีโรเจอร์
เรายังไม่ได้ทดสอบโค้ดใน Excel 2002(XP) ทำไมไม่ใช้ Microsoft Office เวอร์ชันใหม่กว่า งานของคุณจะง่ายขึ้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ผลลัพธ์เดียวกันในปี 2010
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทำไมไม่ลองใช้เวอร์ชั่นใหม่กว่ามันจะง่ายกว่า
https://games.lol/racing/
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณ แต่แล้วจะมีเซลล์หลายเซลล์สำหรับการคลิกเพื่อเรียกใช้มาโครหลายตัว
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี
ลองใช้โค้ด VBA ด้านล่าง

แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
Dim xRgArr เป็นตัวแปร
Dim xFunArr เป็นตัวแปร
Dim xFNum เป็นจำนวนเต็ม
Dim xStr เป็นสตริง
Dim xRg เป็นช่วง
xRgArr = Array("A1", "D1", "C1") 'เซลล์ที่ใช้เรียกมาโคร
xFunArr = Array("Code name1", "Code name2", "Code name3") 'ชื่อรหัสที่เกี่ยวข้อง
ถ้า Selection.Count = 1 แล้ว
สำหรับ xFNum = 0 ถึง UBound(xRgArr)
ตั้งค่า xRg = ActiveSheet.Range(xRgArr(xFNum))
ถ้าไม่ตัดกัน (เป้าหมาย xRg) ก็ไม่มีอะไรทั้งนั้น
xStr = xFunArr(xFNum)
แอปพลิเคชันเรียกใช้ xStr
End If
ต่อไป
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณสำหรับรหัสนี้ เป็นไปได้ไหมที่จะให้สิ่งนี้ทำงานได้โดยคลิกที่เซลล์ที่รวมเข้ากับเซลล์อื่น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี M.Symonds
รหัสในบทความนี้สามารถช่วยคุณได้: https://www.extendoffice.com/documents/excel/4354-excel-click-on-cell-to-run-macro.html
ขอบคุณสำหรับความคิดเห็นของคุณ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันพยายามใช้รหัสนี้เพื่อเรียกใช้แมโครการวาง แต่ดูเหมือนจะไม่ทราบวิธีวางมาโครอย่างถูกต้อง

นี่คือ Marco ดั้งเดิมของฉัน

วางย่อย()
'
' วางมาโคร
'

'
ช่วง("B34") เลือก
ActiveSheet.PasteSpecial Format:="HTML", ลิงก์:=False, DisplayAsIcon:= _
เท็จ NoHTMLFormatting:=True
ย่อยสิ้นสุด


ความช่วยเหลือใด ๆ ที่ชื่นชม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ขอบคุณสำหรับหัวข้อที่น่าสนใจของคุณ จะเป็นอย่างไร ตัวอย่างเช่น ฉันต้องการคลิกที่ D4 ใน Sheet1 และดูผลลัพธ์ของ Macro ใน Sheet2!F3
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่ทำงานอีกต่อไป
Worksheet_SelectionChange ไม่มีอยู่ตามค่าเริ่มต้น หมายความว่าคุณไม่สามารถใช้สิ่งนั้นเพื่อทริกเกอร์มาโครได้

ซับที่ฝังไว้เพียงรายการเดียวที่คุณสามารถใช้ได้มีการอ้างอิงในรายการดรอปดาวน์ "เวิร์กบุ๊ก" ดังนั้น...

สิ่งเดียวที่ใกล้เคียงที่สุดที่คุณสามารถทำได้คือการใช้ Workbook_SheetBeforeDoubleClick แต่จะเข้าสู่โหมดแก้ไข (ยังไม่ใช่เรื่องใหญ่)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี CodeKiller.Worksheet_SelectionChange มีอยู่ในตัวแก้ไขชีต (โค้ด) เท่านั้น คลิกขวาที่แท็บแผ่นงาน แล้วคลิก ดูรหัส เพื่อเปิดใช้งานตัวแก้ไขแผ่นงาน (รหัส)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งสำคัญคือต้องเน้นว่ามาโครทำงานในเวิร์กชีตเท่านั้น
พวกเราที่ใช้ Visual Basic Editor ปกติมักจะจบลงด้วยการจัดเก็บมาโครในที่อื่นนอกเหนือจากในเวิร์กชีตปัจจุบัน
รหัสเหล่านี้จะไม่ทำงานในสถานการณ์นั้น
ฉันพบว่ารหัสนี้ง่ายกว่ามากและใช้งานได้ดีมากสำหรับฉัน: 

แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Excel.Range)
ถ้าไม่ตัดกัน(ช่วง("d1") เป้าหมาย) ก็ไม่มีอะไรแล้ว
โทรหาอา
End If
ย่อยสิ้นสุด
Sub aa() ' ใส่รหัสของคุณที่นี่
ช่วง("D1") เลือก
Selection.Copy
ช่วง("F1") เลือก
ActiveSheet.PasteEnd ย่อย
จอห์น เวลส์
jnw.wells@gmail.com
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี John Wells ขอบคุณที่แบ่งปัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สำหรับผู้ที่ต้องการให้สิ่งนี้ทำงานสำหรับเซลล์ที่ผสาน วิธีที่รวดเร็วและสกปรกที่สุดคือการอัปเดตบรรทัดที่ 2 ดังนี้:
ตัวเลือกที่ชัดเจน

แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
ถ้า Selection.Count > 0 แล้ว
ถ้าไม่ตัดกัน(เป้าหมาย, ช่วง("D4")) ก็ไม่มีอะไรทั้งนั้น
โทร MyMacro
End If
End If
End SubSelection.Count ถูกใช้เพื่อระบุว่ามีการเลือกก่อนที่จะดำเนินการแมโครที่เหลือหรือไม่ ถ้าการเลือกของคุณประกอบด้วยสี่เซลล์ที่ถูกผสาน Selection.Count จะเท่ากับ 4 และโค้ดที่เหลือจะไม่ทำงาน คุณยังสามารถเปลี่ยนบรรทัดที่ 2 เป็นจำนวนเซลล์ที่แน่นอนที่ผสานได้ แต่นั่นจะทำให้เกิดปัญหาหากคุณ รวมเซลล์เพิ่มเติม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
แกรนดิโอโซ! Grazie, era una vita che sognavo di poterlo fare, se può essere utile a qualcuno avendo necessità di eseguire più codici su più celle per
aumentare il numero di opzioni basta aggiungere le nuove istruzionisempre sotto la stessa option ชัดเจน altrimente ci viene detto che il riferimento al
ใบงาน ไม่ใช่ è univoco Mi spiego meglio evidentemente su มาโฮ adattato il codice con il mio esempio;

ตัวเลือกที่ชัดเจน
แผ่นงานย่อยส่วนตัว_SelectionChange(ByVal Target As Range)
ถ้า Selection.Count = 1 แล้ว
ถ้าไม่ตัดกัน(เป้าหมาย ช่วง("Y64")) ก็ไม่มีอะไรแล้ว
ช่วง("Y65:Y78") เลือก
ช่วง("Y65").เปิดใช้งาน
Selection.ClearContents
ช่วง("Y65") เลือก
End If
ถ้าไม่ตัดกัน(เป้าหมาย, ช่วง("A33")) ก็ไม่มีอะไรทั้งนั้น
ช่วง("A33") เลือก
Selection.Copy
ActiveWindow.WindowState = xlMinimized
SendKeys "^v"
SendKeys "{BACKSPACE}"
End If
End If
ย่อยสิ้นสุด

Grazie ancora è stata un'autentica meraviglia!

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

ไม่มี encuentro la manera de hacer lo que necesito Espero de veras que me podáis ayudar.
Necesito que se lance una MACRO al hacer clic en una celda, pero no sé en qué celda va a ser, no lo puedo comparar con (si se ha seleccionado la celda A3, por ejemplo, que se se pordes laquecional) fichero, las celdas se van a mover de sitio (se han podido insertar, mas o menos filas encima). Necesitaría poder saber qué celda es la que se ha seleccionado. จำเป็น
Hay alguna manera de poder hacer eso?
Muchas gracias de antemano
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีโฮล่า
ที่อยู่ของเซลล์มีค่าคงที่ สิ่งที่คุณย้ายได้คือค่าของเซลล์
เซลล์ที่คุณระบุในโค้ด VBA ยังคงเป็นเซลล์ที่ทริกเกอร์โค้ด VBA ที่ระบุ
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ