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

Re: อยากสอบถามเกี่ยวกับ code vba ครับ
Posted: Tue Oct 03, 2017 7:24 pm
by diary
ไฟล์นี้ครับ รบกวนด้วยนะครับ
Re: อยากสอบถามเกี่ยวกับ code vba ครับ
Posted: Tue Oct 03, 2017 7:29 pm
by snasui

ตัวอย่าง 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
ขอบคุณมากเลยครับ