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 RoundedRectangle1_Click()
Dim rng As Range
For Each rng In Sheets("Sheet1").Range("c3", "c9")
If rng.Value = "" Then
Selection.Delete Shift:=xlUp
End If
Next rng
End Sub
Code: Select all
Sub RoundedRectangle1_Click()
Dim rng As Range
Dim i As Integer
For Each rng In Sheets("Sheet1").Range("c3", "c9")
If rng.Value = "" Then
rng.ClearContents
i = i + 1
End If
Next rng
If i > 0 Then
Sheets("Sheet1").Range("c3", "c9") _
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
End Sub
Code: Select all
Sub RoundedRectangle1_Click()
Dim rng As Range
For Each rng In Sheets("Sheet1").Range("C3:E9").Rows
If Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(rng)), "") = "" Then
rng.Delete shift:=xlUp
End If
Next
End Sub
ใช้แล้วครับ ต้องการแบบนี้เลย ขอบคุณมากครับastalavista wrote: Thu Oct 04, 2018 2:13 pm ลองปรับเป็นCode: Select all
Sub RoundedRectangle1_Click() Dim rng As Range For Each rng In Sheets("Sheet1").Range("C3:E9").Rows If Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(rng)), "") = "" Then rng.Delete shift:=xlUp End If Next End Sub
ตัวอย่างการปรับ Code ครับkubota wrote: Thu Oct 04, 2018 11:55 am ขอบคูณมากครับ..แต่สูตรยังไม่ใช้ที่ตอบโจทย์ครับ
คืออยากลบ เฉพาะเซลล์ ที่อ้างอิง จาก คอลัม C ไม่ใช่ลบทั้งแถว
จากไฟล์ที่แนบ คือช่อง C7 กับ C9 ว่าง ที่นี้เวลาเรารัน Vba ให้ลบเฉพาะ เซลล์ที่ว่างกับคอลัมที่มีข้อมูลด้วย
ตัวอย่างนะครับ
เช่น C7 ว่าง ให้Vba ลบเซลล C7+D7 +E7 ครับ ไม่ใช่ลบทั้งแถว
ขอบคุณมากครับ
Code: Select all
Sub RoundedRectangle1_Click()
Dim i As Integer, j As Integer
With Sheets("Sheet1")
j = .Range("c3", "c9").Rows.Count - 1
For i = j To 0 Step -1
If .Range("c3").Offset(i, 0).Value = "" Then
.Range("c3").Offset(i, 0).Resize(1, 3).Delete shift:=xlUp
End If
Next i
End With
End Sub