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
:D ลองปรับแก้ค่าที่ผมทำลูกศรชี้ไว้ในภาพด้านล่างครับ

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
:D แนบไฟล์ตัวอย่างมาด้วยครับ

Re: การแก้ไขดัดแปลง VBA ของอาจารย์

Posted: Fri Jun 08, 2012 2:53 pm
by dragonna
รบกวนด้วยครับ

Re: การแก้ไขดัดแปลง VBA ของอาจารย์

Posted: Fri Jun 08, 2012 2:56 pm
by snasui
:lol: ไฟล์ตัวอย่างพร้อม 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
:D ลองปรับ 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
:lol: ไปลบ Code เดิมใน ThisWorkbook ออกครับ :lol:

Re: การแก้ไขดัดแปลง VBA ของอาจารย์

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