snasui wrote:
Code นั้นเปลี่ยนเฉพาะเซลล์ที่มีข้อมูลหรือเซลล์ที่ไม่ว่าง หากเซลล์ใดมองเห็นด้วยตาว่าไม่มีข้อมูลแต่เห็นเป็นค่า X หลังจาก Run Code แสดงว่าเซลล์นั้นไม่ใช่เซลล์ว่างจริง ๆ ให้ทำการ Clear ให้เป็นค่าว่างจริง ๆ เสียก่อนด้วยวิธีการใด ๆ ครับ
รบกวนสอบถามอาจารย์เพิ่มเติมค่ะ
คือ ได้ทำการแก้ไขโค้ดตามที่อาจารย์แนะนำ โดยเปลี่ยนค่าในช่องที่ตาเรามองเห็นว่าเป็นเซลล์ที่ไม่มีข้อมูล ให้เป็นเซลล์ว่างจริงๆ
โดยใช้คำสั่ง .clearcontents และสั่งให้วนลูป เพื่อทำการเปลี่ยนเซลล์ที่ไม่มีข้อมูลให้เป็นเซลล์ว่างจริงๆ
หลังจากนั้น ใช้คำสั่งที่อาจารย์แนะนำ เปลี่ยนเซลล์ที่มีข้อมูลให้เป็น "X" ตามที่ต้องการ
แต่ใช้เวลารันโปรแกรมค่อนข้างนานค่ะ ประมาณ 15 นาที ในการเปลี่ยนเเซลล์ที่ไม่เห็นข้อมูล เป็นเซลล์ว่างจริงๆ สำหรับข้อมูลที่มีขนาดตาราง 83x324 ค่ะ
Code: Select all
Sub A3_ChangeNumberToX4()
Dim i As Long
Dim j As Long
Dim lastrow As Long
Dim lastcolumn As Long
Sheets("Sheet2").Select
lastrow = Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
lastcolumn = Sheets("Sheet2").Cells(27, Columns.Count).End(xlToRight).Column
For j = 31 To lastcolumn
For i = 2 To lastrow
If Cells(i, j).Value = "" Then
Cells(i, j).ClearContents
End If
Next i
Next j
Range("ae2").Resize(100000, 10000).SpecialCells(xlCellTypeConstants).Value = "X"
End Sub
รบกวนขอคำแนะนำในการแก้ไขโปรแกรม ให้ทำงานได้เร็วขึ้นด้วยค่ะ