Page 1 of 1

ช่วยด้วยครับ มาโคร บันทึกข้อมูลแล้วไม่ลงล่างครับ กลับไปทับค่าเดิม มีตัวอย่างครับ

Posted: Fri Jun 26, 2020 3:38 pm
by ballkoong
ช่วยด้วยครับ มาโคร บันทึกข้อมูลแล้วไม่ลงล่างครับ กลับไปทับค่าเดิม

อยากเก็บข้อมูลเข้าไป แล้วบันทึกข้อมูล ไปเก็บไว้เรื่อยๆ
แต่ผมทำแล้ว ข้อมูลที่เข้าไป กลับไปทับค่าเดิมเสมอครับ

มีตัวอย่างครับ

Re: ช่วยด้วยครับ มาโคร บันทึกข้อมูลแล้วไม่ลงล่างครับ กลับไปทับค่าเดิม มีตัวอย่างครับ

Posted: Fri Jun 26, 2020 9:17 pm
by puriwutpokin
ควรแนบโค้ดตามกฎข้อ 5 ด้วยครับครั้งหน้านะครับ
ตัวอย่างปรับโค้ดครับ

Code: Select all

Dim lRow As Long
lRow = Cells(Rows.Count, 10).End(xlUp).Row
    Range("B4:C4").Copy
    Range("J" & lRow).Select
    'Other code

Re: ช่วยด้วยครับ มาโคร บันทึกข้อมูลแล้วไม่ลงล่างครับ กลับไปทับค่าเดิม มีตัวอย่างครับ

Posted: Sun Jun 28, 2020 8:27 am
by ballkoong
puriwutpokin wrote: Fri Jun 26, 2020 9:17 pm ควรแนบโค้ดตามกฎข้อ 5 ด้วยครับครั้งหน้านะครับ
ตัวอย่างปรับโค้ดครับ

Code: Select all

Dim lRow As Long
lRow = Cells(Rows.Count, 10).End(xlUp).Row
    Range("B4:C4").Copy
    Range("J" & lRow).Select
    'Other code
:D ได้แล้วครับ อาจารย์ แต่ช่วยอธิบาย Code 2 บรรทัดแรก ให้หน่อยครับ
ผมยังไม่ค่อยเข้าใจครับ ขอบคุณมากๆ ครับ

Re: ช่วยด้วยครับ มาโคร บันทึกข้อมูลแล้วไม่ลงล่างครับ กลับไปทับค่าเดิม มีตัวอย่างครับ

Posted: Sun Jun 28, 2020 8:47 am
by snasui
:D บรรทัดแรกเป็นการประกาศตัวแปรให้ lRow มี Data Type เป็น Long ดูเพิ่มเติมได้จากที่นี่ว่า Data Type แต่ละแบบมีอะไรและเก็บค่าอะไรครับ :arrow: https://docs.microsoft.com/en-us/office ... pe-summary

บรรทัดที่สองเป็นการกำหนดค่าให้กับตัวแปร โดยให้มีค่าเป็นค่าบรรทัดสุดท้ายของคอลัมน์ที่ 10 ที่มีข้อมูล

Re: ช่วยด้วยครับ มาโคร บันทึกข้อมูลแล้วไม่ลงล่างครับ กลับไปทับค่าเดิม มีตัวอย่างครับ

Posted: Sun Jun 28, 2020 11:28 pm
by ballkoong
snasui wrote: Sun Jun 28, 2020 8:47 am :D บรรทัดแรกเป็นการประกาศตัวแปรให้ lRow มี Data Type เป็น Long ดูเพิ่มเติมได้จากที่นี่ว่า Data Type แต่ละแบบมีอะไรและเก็บค่าอะไรครับ :arrow: https://docs.microsoft.com/en-us/office ... pe-summary

บรรทัดที่สองเป็นการกำหนดค่าให้กับตัวแปร โดยให้มีค่าเป็นค่าบรรทัดสุดท้ายของคอลัมน์ที่ 10 ที่มีข้อมูล
ขอบคุณครับอาจารย์
แต่ขออีกนิดครับ คือผมจะเขียน ให้ข้อมูลที่บันทึกอยู่ คอลัมJ เหมือนเดิม แต่ ให้อยู่ใน Sheet ที่3 ต้องปรับ Code อย่างไรครับ :?:
วันนี้ทำทั้งวันยังไม่ได้ครับ ช่วยผมด้วยนะครับ :flw:

โค๊ดตอนนี้ครับ :ard:

Sub Macro1()
'
' Macro1 Macro
'

'
Dim lRow As Long
lRow = Cells(Rows.Count, 10).End(xlUp).Row
Range("B4:C4").Copy
Range("J" & lRow).Select

ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B4:C4").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub

Re: ช่วยด้วยครับ มาโคร บันทึกข้อมูลแล้วไม่ลงล่างครับ กลับไปทับค่าเดิม มีตัวอย่างครับ

Posted: Mon Jun 29, 2020 7:13 am
by puriwutpokin
ควรแนบโค้ดให้เป็นโค้ดตามกฏข้อ5​ และแนบไฟล์ล่าสุดมาด้วยครับ

Re: ช่วยด้วยครับ มาโคร บันทึกข้อมูลแล้วไม่ลงล่างครับ กลับไปทับค่าเดิม มีตัวอย่างครับ

Posted: Mon Jun 29, 2020 8:33 am
by ballkoong
ขอบคุณครับอาจารย์
แต่ขออีกนิดครับ คือผมจะเขียน ให้ข้อมูลที่บันทึกอยู่ คอลัมJ เหมือนเดิม แต่ ให้อยู่ใน Sheet ที่3 ต้องปรับ Code อย่างไรครับ :?:
วันนี้ทำทั้งวันยังไม่ได้ครับ ช่วยผมด้วยนะครับ :flw: มีโค๊ต พร้อมไฟล์ ครับ

Code: Select all

Sub Macro1()
'
' Macro1 Macro
'

'
Dim lRow As Long
lRow = Cells(Rows.Count, 10).End(xlUp).Row
Range("B4:C4").Copy
Range("J" & lRow).Select

ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B4:C4").Select
Application.CutCopyMode = False
Selection.ClearContents
End Sub

Re: ช่วยด้วยครับ มาโคร บันทึกข้อมูลแล้วไม่ลงล่างครับ กลับไปทับค่าเดิม มีตัวอย่างครับ

Posted: Mon Jun 29, 2020 10:35 am
by Totem
:D ปรับ code ตามนี้ครับ

Code: Select all

Sub Macro1()

Dim lRow As Long

       lRow = Sheets("sheet3").Cells(Rows.Count, 10).End(xlUp).Row
    
    With Sheets("sheet1")
    
                .Range("B4:C4").Copy
                Sheets("sheet3").Range("J" & lRow).Offset(1, 0).Range("A1"). _
                PasteSpecial Paste:=xlPasteValues
                
                Application.CutCopyMode = False
                
                .Range("B4:C4").ClearContents

    End With
        
End Sub