snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub Macro1()
Dim i As Integer
Dim cell As Range, rng As Range
Set rng = Range("A1:A10")
i = 1
For Each cell In rng
cell.Value = i
i = i + 1
Next cell
End Sub
แต่ต้องการคือว่า เมื่อเราคีย์ใน column B ใน Column A ให้ออกลำดับแบบ Auto ครับ โดยไม่ต้องใช้ =SUBTOTAL( ครับ Code บนนี้จะปรับอย่างไรครับ?
Sub Macro1()
Dim i As Integer
Dim cell As Range, rng As Range
Set rng = Range("b1:b" & Cells(Rows.Count, 2).End(xlUp).Row)
i = 1
For Each cell In rng
cell.Offset(, -1).Value = i
i = i + 1
Next cell
End Sub
ยังติดปัญหาที่ว่า เมื่อ Column B ไม่มีข้อความให้ออกว่างเหมือนกันครับ ความต้องการเหมือนในไฟล์นี้ครับ
Sub Macro1()
Dim i As Integer
Dim cell As Range, rng As Range
Set rng = Range("b1:b" & Cells(Rows.Count, 2).End(xlUp).Row)
i = 1
For Each cell In rng
If cell <> "" Then
cell.Offset(, -1).Value = Application.CountA(Range("b1:b" & i))
Else
cell.Offset(, -1).Value = ""
End If
i = i + 1
Next cell
End Sub
Sub Macro1()
Dim i As Integer
Dim cell As Range, rng As Range
Set rng = Range("b1:b" & Cells(Rows.Count, 2).End(xlUp).Row)
i = 1
For Each cell In rng
If cell <> "" Then
cell.Offset(, -1).Value = Application.CountA(Range("b1:b" & i))
Else
cell.Offset(, -1).Value = ""
End If
i = i + 1
Next cell
End Sub