snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then Cells(i, 1).EntireRow.Delete
Next i
End Sub
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then Cells(i, 1).EntireRow.Delete
Next i
End Sub
ช่วยแนะนำการนำ code ที่แนบมาให้ผมหน่อยครับต้องเอาไปใส่สูตรตรงไหนครับ ตัวอย่างที่ผมแนบมาให้ผมทำโดยการ Record Macro ถ้าจะปรับสูตรเพิ่มเติมช่วยแนะนำการเข้าไปปรับให้ผมหน่อยครับ
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then Cells(i, 1).EntireRow.Delete
Next i
End Sub
ช่วยแนะนำการนำ code ที่แนบมาให้ผมหน่อยครับต้องเอาไปใส่สูตรตรงไหนครับ ตัวอย่างที่ผมแนบมาให้ผมทำโดยการ Record Macro ถ้าจะปรับสูตรเพิ่มเติมช่วยแนะนำการเข้าไปปรับให้ผมหน่อยครับ
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then Cells(i, 1).EntireRow.Delete
Next i
End Sub
ช่วยแนะนำการนำ code ที่แนบมาให้ผมหน่อยครับต้องเอาไปใส่สูตรตรงไหนครับ ตัวอย่างที่ผมแนบมาให้ผมทำโดยการ Record Macro ถ้าจะปรับสูตรเพิ่มเติมช่วยแนะนำการเข้าไปปรับให้ผมหน่อยครับ
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 Then
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then
Cells(i+1, 1).Value = Cells(i, 1).Value
Cells(i, 1).EntireRow.Delete
Next i
End Sub
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 Then
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then
Cells(i+1, 1).Value = Cells(i, 1).Value
Cells(i, 1).EntireRow.Delete
Next i
End Sub
[/quote]
แก้ไขครับ :roll:
[code]Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 And Cells(i, 1).Value <> "" Then
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i, 1).EntireRow.Delete
ElseIf Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 Then
Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then
Cells(i+1, 1).Value = Cells(i, 1).Value
Cells(i, 1).EntireRow.Delete
Next i
End Sub
[/quote]
แก้ไขครับ :roll:
[code]Sub Macro1()
Dim finalrow As Long
Dim i As Long
finalrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = finalrow To 4 Step -1
If Cells(i, 4).Value = 0 And Cells(i, 1).Value <> "" Then
Cells(i + 1, 1).Value = Cells(i, 1).Value
Cells(i, 1).EntireRow.Delete
ElseIf Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
End Sub
-ขอบคุณครับท่าน"puriwutpokin"สำหรับ Code ที่ให้ผมมา ได้ผลลัพธ์ตรงตามที่ต้องการในหน้าเดียวเลยครับ ถ้าไม่เป็นการรบกวนท่าน"puriwutpokin" จะขอรบกวนท่านช่วยอธิบายความหมายใน Code เพื่อเป็นวิทยาทานให้ผมได้นำไปศึกษาและทำความเข้าใจต่อยอดในหลักการเขียน Code VBA ตามที่ท่านได้แนะนำมาให้กับผมหน่อยครับ....ซึ่ง Step ต่อไปผมก็เขียนรายงานสรุปจ่ายวัสดุแยกออกเป็นแต่ล่ะ Section ต่อไปครับ
sub Macro1()
Dim finalrow As Long....หมายถึง
Dim i As Long....หมายถึง
finalrow = Cells(Rows.Count, 2).End(xlUp).Row....หมายถึง
For i = finalrow To 4 Step -1....หมายถึง
If Cells(i, 4).Value = 0 And Cells(i, 1).Value <> "" Then....หมายถึง
Cells(i + 1, 1).Value = Cells(i, 1).Value....หมายถึง
Cells(i, 1).EntireRow.Delete....หมายถึง
ElseIf Cells(i, 4).Value = 0 And Cells(i, 1).Value = "" Then....หมายถึง
Cells(i, 1).EntireRow.Delete....หมายถึง
End If....หมายถึง
Next i....หมายถึง
End Sub