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

วิธีเรียกใช้แมโครเดียวกันบนแผ่นงานหลายแผ่นพร้อมกันใน Excel

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

เรียกใช้หรือเรียกใช้แมโครเดียวกันบนแผ่นงานหลายแผ่นพร้อมกันด้วยรหัส VBA


เรียกใช้หรือเรียกใช้แมโครเดียวกันบนแผ่นงานหลายแผ่นพร้อมกันด้วยรหัส VBA

ในการเรียกใช้มาโครบนแผ่นงานหลายแผ่นพร้อมกันโดยไม่ต้องเรียกใช้ทีละแผ่นคุณสามารถใช้รหัส VBA ต่อไปนี้ได้โปรดดำเนินการดังนี้:

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางมาโครต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: เรียกใช้แมโครเดียวกันบนแผ่นงานหลายแผ่นในเวลาเดียวกัน:

Sub Dosomething()
    Dim xSh As Worksheet
    Application.ScreenUpdating = False
    For Each xSh In Worksheets
        xSh.Select
        Call RunCode
    Next
    Application.ScreenUpdating = True
End Sub
Sub RunCode()
    'your code here
End Sub

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

doc เรียกใช้แมโครในแผ่นงานทั้งหมด 1

3. จากนั้นวางเคอร์เซอร์ไว้ที่มาโครส่วนแรกแล้วกด F5 คีย์ในการรันโค้ดและโค้ดมาโครของคุณจะถูกนำไปใช้ทีละแผ่น


ลบมาโครทั้งหมดออกจากสมุดงานหลายเล่ม:

Kutools สำหรับ Excel's Batch ลบมาโครทั้งหมด ยูทิลิตี้สามารถช่วยคุณลบมาโครทั้งหมดออกจากสมุดงานหลายเล่มได้ตามที่คุณต้องการ ดาวน์โหลดและทดลองใช้ Kutools for Excel ฟรีทันที!

doc เรียกใช้แมโครหากเซลล์เปลี่ยนแปลง 3

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!


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

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
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (13)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ย่อย Dosomething()
Dim xSh เป็นแผ่นงาน
Application.ScreenUpdating = เท็จ
สำหรับแต่ละ xSh ในเวิร์กชีต
xSh.เลือก
โทร RunCode
ต่อไป
Application.ScreenUpdating = จริง
ย่อยสิ้นสุด
ย่อย RunCode()
พร้อมใบงาน("2018")
.EnableOutlining = จริง
.EnableSelection = xlNoRestrictions
.ปกป้องรหัสผ่าน:="workana1234", _
เนื้อหา:=จริง ส่วนต่อประสานผู้ใช้เท่านั้น:=จริง
จบด้วย
ย่อยสิ้นสุด


ฮือออ! เขา seguido las pautras pero ฉัน señala como error la fila xSh.Select.

Al dar F5 me indica que se ha producido un error 1004 en tiempo de ejecucion. ไม่พบข้อผิดพลาด

เกิดข้อผิดพลาดใน metodo "Select" จาก Objeto "_Worksheet"



ช่วยด้วย !!!!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เกี่ยวกับข้อผิดพลาดต่อไป
ข้างบน
xSh.เลือก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ข้อผิดพลาดรันไทม์ 1004
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สำหรับผู้ที่มีข้อผิดพลาดรันไทม์ 1004 ให้ตรวจสอบว่าคุณไม่มีแผ่นงานที่ซ่อนอยู่ หากคุณทำเช่นนั้น ให้เลิกซ่อน ข้อมูลโค้ดนี้ใช้งานได้ ข้อผิดพลาดรันไทม์ของ Greetings.th 1004 ให้ตรวจสอบว่าคุณไม่มีชีตที่ซ่อนอยู่ หากคุณทำเช่นนั้น ให้เลิกซ่อน ข้อมูลโค้ดนี้ใช้งานได้ ทักทาย.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
or
เกี่ยวกับข้อผิดพลาดต่อไป

'ข้างต้น

xSh.เลือก

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

อย่างไรก็ตาม ฉันมีข้อผิดพลาดนี้ที่ "xSh.Select" และฉันไม่รู้ว่าทำไม...ไม่มีปัญหาปรากฏในแผ่นงาน... และฉันไม่มีแผ่นงานที่ซ่อนอยู่

ข้อผิดพลาดคือ '1004': วิธีการ 'เลือก' ของวัตถุ '_Worksheet' ล้มเหลว


ขอบคุณล่วงหน้าสำหรับความช่วยเหลือของ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ก่อน xSh.select คุณต้องเปิดใช้งาน
ดังนั้น xSh.activatexSh.select
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณจะแยกแผ่นงานบางแผ่นและเพิ่ม On Error Resume Next ได้อย่างไร ขอบคุณล่วงหน้า
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ใช้งานได้ แต่ชีตปัจจุบันทำงานสองครั้งเสมอ แผ่นที่เหลือนั้นสมบูรณ์แบบและเรียกใช้เพียงครั้งเดียว!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคุณโฮ
อาจเป็นเพราะคุณสามารถใช้รหัสด้านล่างตามความต้องการของคุณ:
Sub WorksheetLoop()
         Dim Current As Worksheet
         For Each Current In Worksheets

          'Insert your code here.
           
      End Sub


หมายเหตุ: ในโค้ดด้านบนนี้ โปรดคัดลอกและวางโค้ดของคุณเองโดยไม่มีส่วนหัวย่อยและส่วนท้ายย่อย

โปรดลอง หวังว่าจะช่วยคุณได้!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก! แต่มันไม่ทำงาน เรียกใช้แผ่นงานปัจจุบันหลายครั้งเท่านั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Terimakasih sebelumnya atas ilmu ilmu yg sudah di share. Saya sudah memakai beberapa VBA และดา

Tapi bolehkan พูดว่า meminta tolong untul mencarikan VBA yg tepat untuk mengaktifkan VBA yg sudah ada di sheet tertentu tanpa harus masuk ke sheet tersebut.

คอนโทเนีย
Saya sudah menggunakan vBA และ yg berfungsi untuk mengurutkan data secara otomatis.

Tetapi ketika data yg saya terapkan itu berubah karena hasil pencarian data dari แผ่น yg เบอร์เบดา vBA ต่อท้าย tidak aktif ไฟล์แนบ ข้อมูลที่เป็นประโยชน์ ข้อมูลที่เป็นประโยชน์ ข้อมูลผู้ใช้ VBA อื่นๆ เพิ่มเติม

Bisakah dicarikan VBA ไหม?
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ