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
IF(OR(D9="Pfizer",D9="Modena",D9="Sputnik-v",D9="Aztrazenegra"),PI()*7850*(E9/1000+2*G9/1000)*G9/1000*F9/1000*J9," #N/A")
Code: Select all
Sub SteelWt_Calc()
If Range("d8") = "Pfizer" or "Modena" or "Sputnik-v or "Sinovac" Then
Range("l8").Value = WorksheetFunction.Pi * (Range("e8").Value / 1000 + 2 * Range("g8").Value / 1000) * (Range("g8").Value / 1000) * 7850 * (Range("f8").Value / 1000) * Range("j8").Value
Else
Range("l8").Value = WorksheetFunction.Pi * 1
End If
End Sub
Code: Select all
If Range("d8") = "Pfizer" Or Range("d8") = "Modena" Or Range("d8") = "Sputnik-v" Or Range("d8") = "Sinovac" Then
=====================================================================================================puriwutpokin wrote: Thu May 20, 2021 3:25 pm ปรับส่วนนี้ครับCode: Select all
If Range("d8") = "Pfizer" Or Range("d8") = "Modena" Or Range("d8") = "Sputnik-v" Or Range("d8") = "Sinovac" Then
Code: Select all
Sub SteelWt_Calc()
If Range("d8:d") = "Pfizer" Or Range("d8") = "Modena" Or Range("d8") = "Sputnik-v" Or Range("d8") = "Sinovac" Then
Range("l8:l").Value = WorksheetFunction.Pi * (Range("e8").Value / 1000 + 2 * Range("g8").Value / 1000) * (Range("g8").Value / 1000) * 7850 * (Range("f8").Value / 1000) * Range("j8").Value
Else
Range("l8:l").Value = WorksheetFunction.Pi * 1
End If
End Sub
Code: Select all
Sub SteelWt_Calc()
Dim i As Integer
For i = 8 To 14
Select Case Cells(i, 4).Value
Case "Pfizer", "Modena", "Sputnik-v", "Sinovac"
Cells(i, 12).Value = WorksheetFunction.Pi * (Cells(i, 5).Value / 1000 + 2 * Cells(i, 7).Value / 1000) * _
(Cells(i, 7).Value / 1000) * 7850 * (Cells(i, 6).Value / 1000) * Cells(i, 10).Value
Case Else
Cells(i, 12).Value = WorksheetFunction.Pi * 1
End Select
Next i
End Sub
Code: Select all
Sub SteelWt_Calc()
With Range("D8", Cells(Rows.Count, 4).End(xlUp))
.Offset(, 8).Formula = "=PI()*IF(MATCH(D8,{""Pfizer"",""Modena"",""Sputnik-v"",""Aztrazenegra"",""Parcetamol"",""Sinovac""},)>4,1,7850*(E8+2*G8)*G8*F8*J8/10^9)"
.Value2 = .Value2 'ถ้าจะเอาสูตร ก็ลบบรรทัดนี้ออก
End With
End Sub
Code: Select all
.Offset(, 8).Formula = "=PI()*IF(MATCH(D8,{""Pfizer"",""Modena"",""Sputnik-v"",""Aztrazenegra"",""Paracetamol"",""Sinovac""},)>4,1,7850*(E8+2*G8)*G8*F8*J8/10^9)"
.Value2 = .Value2 '???????????? ????????????????
Code: Select all
Sub SteelWt_Calc()
With Range("D8", Cells(Rows.Count, 4).End(xlUp))
.Offset(, 8).Formula = "=PI()*IF(MATCH(D8,{""Pfizer"",""Modena"",""Sputnik-v"",""Aztrazenegra"",""Paracetamol"",""Sinovac"",""Aspirin""},)>1,(g8*2),7850*(E8+2*G8)*G8*F8*J8/10^9)"
.Value2 = .Value2 '???????????? ????????????????
End With
End Sub
Code: Select all
Sub SteelWt_Calc()
With Range("D8", Cells(Rows.Count, 4).End(xlUp))
.Offset(, 8).Formula = "=PI()*J8*CHOOSE(MATCH(MATCH(D8,{""Pfizer"",""Modena"",""Sputnik-v"",""Aztrazenegra"",""Paracetamol"",""Sinovac"",""Aspirin""},),{0,2,7}),7850*(E8+2*G8)*G8*F8/10^9,G8*2,10)"
.Offset(, 8).Value2 = .Offset(, 8).Value2
End With
End Sub
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Target(1, 3).FormulaR1C1 = "=PI()*RC10*CHOOSE(MATCH(MATCH(RC4,{""Pfizer"",""Modena"",""Sputnik-v"",""Aztrazenegra"",""Paracetamol"",""Sinovac"",""Aspirin""},),{0,2,7}),7850*(RC5+2*RC7)*RC7*RC6/10^9,RC7*2,10)"
End If
End Sub
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
Target(1, 3).FormulaR1C1 = "=PI()*RC10*CHOOSE(MATCH(MATCH(RC4,{""Pfizer"",""Modena"",""Sputnik-v"",""Aztrazenegra"",""Paracetamol"",""Sinovac"",""Aspirin""},),{0,2,7}),7850*(RC5+2*RC7)*RC7*RC6/10^9,RC7*2,10)"
ElseIf Target.Column = 11 Then
Dim c&
For c = 0 To 2
Range("M" & Target.Row).Offset(, c) = Application.SumIfs([UnitCost!E4:E999].Offset(, c), [UnitCost!B4:B999], Range("D" & Target.Row), [UnitCost!C4:C999], Range("K" & Target.Row))
Next
End If
End Sub