EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
Sub test()
Dim rAll As Range, r As Range
Dim lngStart As Long, lngEnd As Long
Dim rData As Range
Dim amt As Double
With Sheets("Sheet14")
Set rAll = .Range("a3", .Range("a" & Rows.Count).End(xlUp))
For Each r In rAll
lngStart = r.End(xlToRight).Offset(0, 1).Column
lngEnd = .Cells(r.Row, "m").End(xlToLeft).Offset(0, -1).Column
If lngEnd - lngStart >= 0 Then
Set rData = .Range(.Cells(r.Row, lngStart), .Cells(r.Row, lngEnd))
amt = Application.Sum(rData)
.Cells(r.Row, "n") = amt / (lngEnd - lngStart + 1)
End If
Next r
End With
End Sub
f=100-(a*100/application.max(1,e))
ครับCode: Select all
Sub EPS_8()
Dim rAll As Range, r As Range
Dim lngStart As Long, lngEnd As Long
Dim rData As Range, rd As Range
Dim amt As Double
Dim a, b As Double
With Sheets("Sheet8")
Set rAll = .Range("a3", .Range("a" & Rows.Count).End(xlUp))
rAll.Select
For Each r In rAll
' lngStart = r.End(xlToRight).Offset(0, 1).Column
lngStart = .Cells(r.Row, "d").End(xlToRight).Offset(0, 0).Column
.Cells(r.Row, "d").End(xlToRight).Offset(0, 0).Select
lngEnd = .Cells(r.Row, "m").End(xlToLeft).Offset(0, -1).Column
.Cells(r.Row, "m").End(xlToLeft).Offset(0, -1).Select
a = .Cells(r.Row, "d").End(xlToRight).Offset(0, 0).Value
.Cells(r.Row, 15) = a
b = .Cells(r.Row, "m").End(xlToLeft).Offset(0, -1).Value
.Cells(r.Row, 16) = b
If lngEnd - lngStart >= 0 Then
Set rData = .Range(.Cells(r.Row, lngStart), .Cells(r.Row, lngEnd))
rData.Select
amt = Application.Sum(rData)
.Cells(r.Row, "n") = amt / (lngEnd - lngStart + 1)
.Range("l3", "z700").NumberFormat = "#,##0.00"
.Cells(r.Row, 17) = amt
End If
Next r
End With
Call Sound_2
End Sub
P1649 wrote:Error ที่แสดงน่าแทนค่าด้วย 0 ผมพยายามลอง iserror แล้วก็ยุ่งไปกันใหญ่
ขอรบกวนอาจารย์ ช่วยแนะนำด้วยครับ
หมายถึงหากว่ามีการหารด้วย 0 คือ e มีค่าเป็น 0 แล้วให้ f มีค่าเป็น 0 ใช่หรือไม่ครับP1649 wrote:Error ที่แสดงน่าแทนค่าด้วย 0 ผมพยายามลอง iserror แล้วก็ยุ่งไปกันใหญ่
ขอรบกวนอาจารย์ ช่วยแนะนำด้วยครับ