Page 1 of 1

Macro : คลิก Save แล้ว error

Posted: Mon Jan 13, 2020 9:41 am
by wisitsakbenz
รบกวนสอบถามอาจารย์ครับ
กรอกข้อมูลแล้ว Code error

'Reference number reset to 1 on new date

LastRowDate = WD.Cells(LastRow, 4).Value
NewRowDate = WD.Cells(NewRow, 4).Value
If LastRowDate <> NewRowDate Then
WD.Cells(NewRow, 5).Value = 1
Else
WD.Cells(NewRow, 5).Value = WD.Cells(LastRow, 5) + 1
End If

ใน Column E จะ run จากเลข 1,2,3,....
ถ้าขึ้นวันใหม่จะ run เลขใหม่

ไม่ทราบว่าต้องปรับ Code อย่างไรบ้างครับ ขอบคุณครับ

Re: Macro : คลิก Save แล้ว error

Posted: Mon Jan 13, 2020 9:51 pm
by snasui
:D กรุณาโพสต์ Code ให้แสดงเป็น Code ตามกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: แจ้งมาด้วยว่า Code อยู่ใน Module ไหน ชื่อ Procedure ว่าอะไร จะได้เข้าถึงปัญหาโดยไวครับ

Re: Macro : คลิก Save แล้ว error

Posted: Tue Jan 14, 2020 8:50 am
by wisitsakbenz
Code จะอยู่ใน UserForm1 ครับ จะ error Code ด้านล่างครับ

'Reference number reset to 1 on new date

LastRowDate = WD.Cells(LastRow, 4).Value
NewRowDate = WD.Cells(NewRow, 4).Value
If LastRowDate <> NewRowDate Then
WD.Cells(NewRow, 5).Value = 1
Else
WD.Cells(NewRow, 5).Value = WD.Cells(LastRow, 5) + 1
End If

รบกวนอาจารย์ด้วยครับ ขอบคุณครับ

Re: Macro : คลิก Save แล้ว error

Posted: Tue Jan 14, 2020 1:22 pm
by logic
โพสต์โค้ดผิดรูปแบบครับ ❌

Re: Macro : คลิก Save แล้ว error

Posted: Tue Jan 14, 2020 1:57 pm
by wisitsakbenz

Code: Select all


'Reference number reset to 1 on new date

LastRowDate = WD.Cells(LastRow, 4).Value
NewRowDate = WD.Cells(NewRow, 4).Value
If LastRowDate <> NewRowDate Then
WD.Cells(NewRow, 5).Value = 1
Else
WD.Cells(NewRow, 5).Value = WD.Cells(LastRow, 5) + 1
End If

แก้ไขแล้วครับอาจาย์ รบกวนอาจารย์ด้วยครับ ขอบคุณครับ

Re: Macro : คลิก Save แล้ว error

Posted: Tue Jan 14, 2020 2:19 pm
by logic
แบบนี้ได้ไหมครับ 😊

Code: Select all

Dim CountDate As Long
     
LastRow = WD.Range("D4000").End(xlUp).Row
NewRow = LastRow + 1

   
 'Create reference number
 WD.Cells(NewRow, 2).Value = Year(Date) - 2000
 WD.Cells(NewRow, 3).Value = Month(Date)
 WD.Cells(NewRow, 4).Value = Day(Date)
    
CountDate = Application.CountIfs(WD.Range("b2:b" & LastRow), WD.Cells(NewRow, 2), _
    WD.Range("c2:c" & LastRow), WD.Cells(NewRow, 3), _
    WD.Range("d2:d" & LastRow), WD.Cells(NewRow, 4))
   'Reference number reset to 1 on new date

'    LastRowDate = WD.Cells(LastRow, 4).Value
'    NewRowDate = WD.Cells(NewRow, 4).Value
If CountDate = 0 Then
    WD.Cells(NewRow, 5).Value = 1
Else
    WD.Cells(NewRow, 5).Value = WD.Cells(LastRow, 5) + 1
End If

Re: Macro : คลิก Save แล้ว error

Posted: Tue Jan 14, 2020 3:30 pm
by wisitsakbenz

Code: Select all

If CountDate = 0 Then
    WD.Cells(NewRow, 5).Value = 1
Else
    WD.Cells(NewRow, 5).Value = WD.Cells(LastRow, 5) + 1
End If
error code นี้ครับ อาจารย์ logic ขอบคุณครับ

Re: Macro : คลิก Save แล้ว error

Posted: Tue Jan 14, 2020 8:21 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
If CountDate = 0 Or LastRow = 1 Then
    WD.Cells(NewRow, 5).Value = 1
Else
    WD.Cells(NewRow, 5).Value = WD.Cells(LastRow, 5) + 1
End If
'Other code

Re: Macro : คลิก Save แล้ว error

Posted: Wed Jan 15, 2020 8:30 am
by wisitsakbenz
ได้แล้วครับอาจารย์
ขอบคุณอาจารย์ snasui และ อาจารย์ logic มากครับ