Page 1 of 1

อยากสอบถามเกี่ยวกับ code vba ครับ

Posted: Tue Oct 03, 2017 5:00 pm
by diary
สวัสดีครับ ตอนนี้ผมสร้างปุ่ม A และ B ขึ้นมาเวลากดมันก็จะบันทึกค่าลงเซลจากบนลงล่างไปเรื่อยๆ ตอนนี้ผมอยากเพิ่มปุ่ม UNDO ครับคืออยากให้เวลลากดปุ่ม UNDO แล้วมันจะลบค่าที่บันทึกล่าสุดครับ เช่นตัวอย่างในรูปภาพถ้ากดปุ่มหนึ่งครั้งมันก็จะลบค่าในเซล B21 แล้วถ้ากดอีกมันก็จะลบค่าในเซล B20-B19-B18 แบบนี้ไปเรื่อยๆครับ
รบกวนขอ code คร่าวๆด้วยนะครับ
undo.PNG
undo.PNG (54.89 KiB) Viewed 94 times

Re: อยากสอบถามเกี่ยวกับ code vba ครับ

Posted: Tue Oct 03, 2017 5:55 pm
by parakorn
คำถามเกี่ยวกับ VBA ต้องลองทำเองแนบตัวอย่างไฟล์มา ตามกฎของบอร์ดครับ

ตัวอย่างการบันทึกมาโคร วิธีการคือการ End Mode ลงไปลบข้อมูลบรรทัดสุดท้ายครับ

Re: อยากสอบถามเกี่ยวกับ code vba ครับ

Posted: Tue Oct 03, 2017 6:19 pm
by diary
อันนี้ที่ทำมาครับแต่ว่ามันลบเซลข้างบนสุดครับ

Code: Select all

Sub undo()
Dim ar() As String
Dim r As Range
Dim i, lr As Integer
i = 1
On Error Resume Next
lr = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row

Set r = Range("B2:B" & lr)
        For Each r In r
                ReDim Preserve ar(i) As String
                ar(i) = r.Value
                i = i + 1
        Next r
Range("B:B").ClearContents
         For i = 1 To UBound(ar) + 1
                 Cells(i + 1, 2).Value = ar(i + 1)
         Next i
         
End Sub


Re: อยากสอบถามเกี่ยวกับ code vba ครับ

Posted: Tue Oct 03, 2017 6:25 pm
by parakorn
แนบตัวอย่างไฟล์มาด้วยครับ :D

Re: อยากสอบถามเกี่ยวกับ code vba ครับ

Posted: Tue Oct 03, 2017 7:24 pm
by diary
ไฟล์นี้ครับ รบกวนด้วยนะครับ
ABABAB.xlsm
(16.91 KiB) Downloaded 6 times

Re: อยากสอบถามเกี่ยวกับ code vba ครับ

Posted: Tue Oct 03, 2017 7:29 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Sub undo()
    Range("b" & Rows.Count).End(xlUp).ClearContents
End Sub

Re: อยากสอบถามเกี่ยวกับ code vba ครับ

Posted: Tue Oct 03, 2017 7:31 pm
by diary
ขอบคุณมากเลยครับ