snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
xaouteam
Member
Posts: 15 Joined: Thu Dec 08, 2016 11:50 pm
#1
Post
by xaouteam » Thu Dec 08, 2016 11:55 pm
อยากให้ code ด้านล่างนี้ใช้ได้กับทุกชีทที่เราใส่ปุ่มไว้ ต้องแก้ตรงไหนครับ ต้องการแบบไม่ต้องระบุชื่อชีทเลย
หรือว่า เรียงลำดับชื่อชีทก็ได้ครับ เช่น เมื่อcodeนี้ไปใส่ปุ่มใน sheet1 , sheet2 , sheet3 ก็สามารถใช้ร่วมกันได้ทั้งหมด
ขอบคุณครับ
Sub insertROW()
'
' insertROW Macro
'
Worksheets("User").Select
lr = ThisWorkbook.Sheets("User").Cells(Rows.Count, 2).End(xlUp).Row
Cells(4, 100).Select
lc = Selection.End(xlToLeft).Column
Cells(lr, 2).Select
Dim i, j, k As Integer
i = lr - 5
j = Range("element").Value
k = i + 6
For i = i To j - 1
Rows(k).Select
Selection.Insert
Cells(k, 2) = Cells(k - 1, 2) + 1
k = k + 1
Next i
End Sub
Serverchita
Bronze
Posts: 296 Joined: Wed Nov 18, 2015 1:28 pm
Excel Ver: 365
#2
Post
by Serverchita » Fri Dec 09, 2016 1:21 pm
แนบไฟล์ตัวอย่างมาด้วยครับ เพื่อง่ายต่อการตอบคำถาม
xaouteam
Member
Posts: 15 Joined: Thu Dec 08, 2016 11:50 pm
#3
Post
by xaouteam » Fri Dec 09, 2016 7:16 pm
แก้ไขได้แล้วโดยลบบรรทัดด้านล่างออก ขอบคุณครับ