snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub RangeNunFormat()
Dim r As Range, sh As Worksheet
Dim rAll As Range, i As Integer
On Error Resume Next
For Each sh In Worksheets
If sh.Name <> "ตัวชี้วัด" Then
Set rAll = sh.Range("B6:B25")
For Each r In rAll
i = Application.VLookup(r, Worksheets("ตัวชี้วัด").Range("B5:D24"), 3, 0)
If i > 0 Then
r.Offset(0, 4).Resize(, 16).NumberFormat = "#,##0." & String(i, "0")
Else
r.Offset(0, 4).Resize(, 16).NumberFormat = "#,##0"
End If
Next r
End If
Next sh
End Sub
เรียนท่านอาจารย์ครับ ตาม code If sh.Name <> "ตัวชี้วัด" Then Set rAll = sh.Range("B6:B25")
For Each r In rAll
i = Application.VLookup(r, Worksheets("ตัวชี้วัด´").Range("B5:D24"), 3, 0)
If i > 0 Then
r.Offset(0, 4).Resize(, 16).NumberFormat = "#,##0." & String(i, "0")
Else
r.Offset(0, 4).Resize(, 16).NumberFormat = "#,##0"
End If
Next r
End If
Sub RangeNumFormat()
Dim r As Range, sh As Worksheet
Dim rAll As Range, i As Integer
On Error Resume Next
For Each sh In Worksheets
Select Case Val(sh.Name)
Case 1 To 13
Set rAll = sh.Range("B6:B25")
For Each r In rAll
i = Application.VLookup(r, Worksheets("ตัวชี้วัด").Range("B5:D24"), 3, 0)
If i > 0 Then
r.Offset(0, 4).Resize(, 16).NumberFormat = "#,##0." & String(i, "0")
Else
r.Offset(0, 4).Resize(, 16).NumberFormat = "#,##0"
End If
Next r
End Select
Next sh
End Sub