Page 1 of 1
การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Thu Jun 07, 2012 11:43 am
by dragonna
กราบสวัสดีครับอาจารย์ ผมเองกำลังหา VBA มาใช้แล้วได้เจอที่อาจารย์โพสไว้แล้วเป็นประโยชน์มากครับ จึงจะมารบกวนให้อาจารย์ช่วยชี้แนะให้น่ะครับ
สืบเนื่องมาจาก
http://snasui.blogspot.com/2011/07/blog-post_01.html ครับ
ผมเองทำงานงานบัญชี ต้องกระทบยอดรายการทางบัญชี ซึ่งมีข้อมูลประมาณ 16 คอลัมภ์น่ะครับ
ถ้าผมใส่ตัวกรองใน คอลัมภ์ S (19) แล้วจะให้ข้อมูลตั้งแต่คอลัมภ์ A ถึง คอลัมภ์ R ขึ้่นไปอยู่ด้านบน ผมต้องทำอย่างไรบ้างครับ
รบกวนอาจารย์ชี้แนะแนวทาง และวิธีการนำไปใช้ ดัดแปลง แก้ไข ต่อไปภายหน้าด้วยครับ
ขอบพระคุณมาก ๆ ครับ
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Thu Jun 07, 2012 12:09 pm
by snasui

ลองปรับแก้ค่าที่ผมทำลูกศรชี้ไว้ในภาพด้านล่างครับ
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Thu Jun 07, 2012 12:31 pm
by dragonna
ขอบคุณมาก ๆ ครับอาจารย์ ผมเองไม่ีมีความรู้เรื่อง VBA เลยครับ ก็ได้แต่เอาโค๊ตของอาจารย์ไปใช้ ไม่เข้าใจสักทีว่าต้องประยุกต์ยังไงบ้าง ผมจะพยายามทำดูนะครับ
ขอบคุณครับ
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Fri Jun 08, 2012 1:09 pm
by dragonna
อาจารย์ครับผมลองแก้แล้ว ปรากฎว่าตัวไฟล์ค้างไปเลยครับ เลยไม่รู้ว่าแก้ถูกผิดยังน่ะครับ ช่วยแนะนำด้วยครับผม
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
With Target
If .Count > 1 Then
Exit Sub
ElseIf .Column = 19 And .Offset(1, 0) = "" _
And .Offset(-1, 0) = "" Then
.Offset(0, -1).Resize(, 19).Cut
.End(xlUp).Offset(1, -1) _
.Resize(, 19).Insert shift:=xlDown
End If
End With
Application.ScreenUpdating = True
End Sub
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Fri Jun 08, 2012 2:19 pm
by snasui

แนบไฟล์ตัวอย่างมาด้วยครับ
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Fri Jun 08, 2012 2:53 pm
by dragonna
รบกวนด้วยครับ
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Fri Jun 08, 2012 2:56 pm
by snasui

ไฟล์ตัวอย่างพร้อม Code ควรเป็นไฟล์ที่มีนามสกุลเป็น
.xlsm หากเป็น Excel 2007 ขึ้นไป ที่แนบมานั้นเป็น .xlsx ครับ
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Fri Jun 08, 2012 3:52 pm
by dragonna
ต้องขอโทษด้วยครับอาจารย์ ผมเองยังไม่ค่อยเข้าใจเท่าไร แต่พยายามหาความรู้เพิ่มเติมครับ
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Fri Jun 08, 2012 4:11 pm
by snasui

ลองปรับ Code ใน Sheet1 เป็นตามด้านล่างครับ
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
With Target
If .Count > 1 Then
Exit Sub
ElseIf .Column = 19 And .Offset(1, 0) = "" _
And .Offset(-1, 0) = "" Then
.Offset(0, -18).Resize(, 19).Cut
.End(xlUp).Offset(1, -18) _
.Resize(, 19).Insert shift:=xlDown
End If
End With
Application.ScreenUpdating = True
End Sub
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Fri Jun 08, 2012 4:26 pm
by dragonna
ขอบคุณครับอาจารย์ แต่พอเอาไปลองใส่แล้ว เกิด error ครับ ว่า
" compile error
Invalid outside procedure"
ครับ แก้ไขยังไงครับผม
Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Fri Jun 08, 2012 4:28 pm
by snasui

ไปลบ Code เดิมใน ThisWorkbook ออกครับ

Re: การแก้ไขดัดแปลง VBA ของอาจารย์
Posted: Sat Jun 09, 2012 9:36 am
by dragonna
ได้แล้วครับ ขอบคุณมาก ๆ ครับผม