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 opennn8()
With Sheets("Print.Mini").Range("L5")
.Value = .Value + 8
End With
With Sheets("Print.Mini").Range("M5")
.Value = .Value + 8
End With
With Sheets("Print.Mini").Range("N5")
.Value = .Value + 8
End With
With Sheets("Print.Mini").Range("O5")
.Value = .Value + 8
End With
With Sheets("Print.Mini").Range("L6")
.Value = .Value + 8
End With
With Sheets("Print.Mini").Range("M6")
.Value = .Value + 8
End With
With Sheets("Print.Mini").Range("N6")
.Value = .Value + 8
End With
With Sheets("Print.Mini").Range("O6")
.Value = .Value + 8
End With
End Sub
Code: Select all
dim r as range
for each r in sheets("Print.Mini").range("l5:o6")
r.value = r.value + 8
next r
Code: Select all
Sub opennn8()
Dim r As Range
For Each r In Sheets("Print.Mini").Range("l5:o6")
r.Value = r.Value - 8
Next r
End Sub
if range("l5").value = 1 then exit sub
Code: Select all
Private Sub CommandButton1_Click()
'หาแถวสุดท้ายเพื่ออ้างอิง
Dim Lrow%: Lrow = Cells(Rows.Count, "O").End(xlUp).Row
'ป้องกัน Error กรณีไม่ใช่ตัวเลข
If Not IsNumeric(Cells(Lrow, 15)) Then Exit Sub
'กำหนดเงื่อนไขให้พิกัดอ้างอิงเมื่อเงื่อนไขเป็นจริง กรณีนี้คือ ค่าที่ Column 'O' ต้องหาร 8 ลงตัว
If Cells(Lrow, 15) Mod 8 = 0 Then
'เมื่อเงื่อนไขเป็นจริง
'ฝั่งซ้ายคือพิกัดเป้าหมาย ฝั่งขวาคือผลลัพท์ที่ต้องการ ซึ่งอ้างอิงค่าจากพิกัดอ้างอิง
With Cells(Lrow, 15)
.Offset(1, 0) = Cells(Lrow, 15) + 4
.Offset(1, -1) = Cells(Lrow, 15) + 3
.Offset(1, -2) = Cells(Lrow, 15) + 2
.Offset(1, -3) = Cells(Lrow, 15) + 1
.Offset(2, 0) = Cells(Lrow, 15) + 8
.Offset(2, -1) = Cells(Lrow, 15) + 7
.Offset(2, -2) = Cells(Lrow, 15) + 6
.Offset(2, -3) = Cells(Lrow, 15) + 5
End With
End If
End Sub