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 Macro1()
Dim l As Long
With ActiveSheet
'หาว่าแถวว่างที่ถัดลงมาจากแถวสุดท้ายที่มีข้อมูลคือแถวเท่าไร
l = .Range("a" & .Rows.Count).End(xlUp).Row + 1
'สั่งให้ select ที่เซลล์นั้น
.Range("a" & l).Select
End With
End Sub
Code: Select all
Sub Macro1()
'ไปยังบรรทัดว่างหลังจากมีข้อมูลในคอลัมน์ A
'R1C1 คือ บรรทัดที่ 1 คอลัมน์ที่ 1 หรือ A1
'C1 คือ คอลัมน์ที่ 1 คือ คอลัมน์ A
Application.Goto Reference:="OFFSET(R1C1,COUNTA(C1),0)"
End Sub
Code: Select all
Sub macro()
Dim l As Long
With ActiveSheet
l = .Range("K" & .Rows.Count).End(xlToRight).Rows + 1
.Range("K" & l).Select
End With
End Sub
Code: Select all
Sub Macro1()
'ไปยังบรรทัดว่างหลังจากมีข้อมูลในคอลัมน์ A
'R1C1 คือ บรรทัดที่ 1 คอลัมน์ที่ 1 หรือ A1
'C1 คือ คอลัมน์ที่ 1 คือ คอลัมน์ A
Application.Goto Reference:="OFFSET(R1C1,COUNTA(C1),0)"
End Sub
Code: Select all
Sub macro2()
Dim l As Long
With ActiveSheet
l = .Range("K" & .Rows.Count).End(xlToRight).Rows + 1
.Range("K" & l).Select
End With
End Sub
Code: Select all
Sub macro2()
Dim l As Long
With ActiveSheet
l = .Range("K" & .Rows.Count).End(xlToRight).Row + 1
.Range("K" & l).Select
End With
End Sub
Code: Select all
Sub macro2()
Dim l As Long
With ActiveSheet
l = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1
.Cells(1, l).Select
End With
End Sub
Code: Select all
Sub macro2()
Application.Goto reference:="OFFSET(R1C1,0,COUNTA(R1))"
End Sub
Dim l As Long
With ActiveSheet
l = ActiveSheet.Range("K" & ActiveSheet.Rows.Count).End(xlToRight).Row + 1
.rows.count
จะสั่งให้นับจำนวนแถวทั้งหมดในชีทนี้ (ได้ 1048576) จากนั้นจะตั้งต้นที่เซลล์ K1048576 แล้วนึกภาพว่ากดปุ่ม Ctrl + ลูกศรขวา (คือ .End(xlToRight)
) การทำแบบนี้จะทำให้ cursor วิ่งไปทางขวาและจะไปหยุดที่เซลล์แรกที่พบว่ามีอักขระบรรจุอยู่ หรือหากไม่มีเลยก็จะไปหยุดที่เซลล์ขวาสุดActiveSheet.Range("K" & l).Select