การใช้เงื่อนไขเพ่ิมช้อมูลในเซลล์ที่เหมือนว่างแต่ไม่ได้ว่างจร
Posted: Mon Nov 05, 2012 3:32 pm
เรียนอาจารย์ และ ท่านผู้รู้ทุกท่านค่ะ
เนื่องการหนูต้องทำรายการสรุปยอดสินค้าแต่ไฟล์ที่ได้มามันต้องมาลบข้อมูลร้านที่ไม่ต้องการออกก่อน
จึงทำให้หนูต้องเพิ่มข้อมูลชื่อร้านค้าให้ทุกรายการแต่เมื่อใส่เงื่อนไขให้ ก็อปข้อมูลช่อง A-D แถวด้านบนลงมา ถ้าช่องในคอลัม D เป็นช่องว่าง แต่ถ้าไม่ใช่ให้ก็อปเพียงแค่ช่อง A-C แต่ผลที่ได้คือเมื่อมี ช่อง D ที่มีข้อมูลแต่ช่อง A-C ว่าง มันก็จะก็อปข้อมูลช่อง A-D ด้านบนลงมาทั้งหมดอยู่ดีค่ะ ทำให้ข้อมูลผิดพลาด
เมื่อหนูทำการตรวจสอบ เหมือนช่อง ในคอลัม D ที่เป็นช่องว่างๆ มันไม่ว่างจริงๆค่ะ
ชีทที่มีปัญหาคือ ชีท Payable
VBA = Sub Check() ค่ะ
(ก่อนหน้านี้หนูได้ทดลงใช้ Isempty และ Is null ดูแล้วแต่ได้ผลเท่ากันกับ ใช้ ="" ค่ะ)
รบกวนอาจารย์ หรือ ผู้รู้ท่านใด ให้ความกระจ่างด้วยค่ะ
ขอบคุณล่วงหน้าค่ะ
Sub check()
For i = 11 To 2000
Set X = Worksheets("account").[C2]
Set O = Worksheets("account").[C4]
If Cells(i, "D").Value = O And Cells(i, "A").Value = X And Cells(i, "J") <> "" Or Cells(i, "J") = X Then
Range(Cells(i - 1, 1), Cells(i - 1, 4)).Copy
Range(Cells(i, 1), Cells(i, 4)).Select
ActiveSheet.Paste
Range(Cells(11, "P"), Cells(11, "S")).Copy
Range(Cells(i, "P"), Cells(i, "S")).Select
ActiveSheet.Paste
ElseIf Cells(i, "D").Value <> O And Cells(i, "A").Value = X And Cells(i, "J") <> "" Or Cells(i, "J") = X Then
Range(Cells(i - 1, 1), Cells(i - 1, 3)).Copy
Range(Cells(i, 1), Cells(i, 3)).Select
ActiveSheet.Paste
Range(Cells(11, "P"), Cells(11, "S")).Copy
Range(Cells(i, "P"), Cells(i, "S")).Select
ActiveSheet.Paste
ElseIf Cells(i, 1).Value <> "" Then
Range(Cells(11, "P"), Cells(11, "S")).Copy
Range(Cells(i, "P"), Cells(i, "S")).Select
ActiveSheet.Paste
End If
Next
End Sub
เนื่องการหนูต้องทำรายการสรุปยอดสินค้าแต่ไฟล์ที่ได้มามันต้องมาลบข้อมูลร้านที่ไม่ต้องการออกก่อน
จึงทำให้หนูต้องเพิ่มข้อมูลชื่อร้านค้าให้ทุกรายการแต่เมื่อใส่เงื่อนไขให้ ก็อปข้อมูลช่อง A-D แถวด้านบนลงมา ถ้าช่องในคอลัม D เป็นช่องว่าง แต่ถ้าไม่ใช่ให้ก็อปเพียงแค่ช่อง A-C แต่ผลที่ได้คือเมื่อมี ช่อง D ที่มีข้อมูลแต่ช่อง A-C ว่าง มันก็จะก็อปข้อมูลช่อง A-D ด้านบนลงมาทั้งหมดอยู่ดีค่ะ ทำให้ข้อมูลผิดพลาด
เมื่อหนูทำการตรวจสอบ เหมือนช่อง ในคอลัม D ที่เป็นช่องว่างๆ มันไม่ว่างจริงๆค่ะ
ชีทที่มีปัญหาคือ ชีท Payable
VBA = Sub Check() ค่ะ
(ก่อนหน้านี้หนูได้ทดลงใช้ Isempty และ Is null ดูแล้วแต่ได้ผลเท่ากันกับ ใช้ ="" ค่ะ)
รบกวนอาจารย์ หรือ ผู้รู้ท่านใด ให้ความกระจ่างด้วยค่ะ
ขอบคุณล่วงหน้าค่ะ
Sub check()
For i = 11 To 2000
Set X = Worksheets("account").[C2]
Set O = Worksheets("account").[C4]
If Cells(i, "D").Value = O And Cells(i, "A").Value = X And Cells(i, "J") <> "" Or Cells(i, "J") = X Then
Range(Cells(i - 1, 1), Cells(i - 1, 4)).Copy
Range(Cells(i, 1), Cells(i, 4)).Select
ActiveSheet.Paste
Range(Cells(11, "P"), Cells(11, "S")).Copy
Range(Cells(i, "P"), Cells(i, "S")).Select
ActiveSheet.Paste
ElseIf Cells(i, "D").Value <> O And Cells(i, "A").Value = X And Cells(i, "J") <> "" Or Cells(i, "J") = X Then
Range(Cells(i - 1, 1), Cells(i - 1, 3)).Copy
Range(Cells(i, 1), Cells(i, 3)).Select
ActiveSheet.Paste
Range(Cells(11, "P"), Cells(11, "S")).Copy
Range(Cells(i, "P"), Cells(i, "S")).Select
ActiveSheet.Paste
ElseIf Cells(i, 1).Value <> "" Then
Range(Cells(11, "P"), Cells(11, "S")).Copy
Range(Cells(i, "P"), Cells(i, "S")).Select
ActiveSheet.Paste
End If
Next
End Sub