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

กรุณาโพสต์ Code ให้แสดงเป็น Code ตามกฎการใช้บอร์ดข้อ 5 ด้านบน

แจ้งมาด้วยว่า 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

ตัวอย่างการปรับ 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 มากครับ