วันอังคารที่ 10 พฤษภาคม 2022
  1 ตอบกลับ
  เยี่ยมชม 5.7 พันครั้ง
0
โหวต
แก้
ฉันใช้รหัสต่อไปนี้ตามรายการด้านล่าง ฉันทำงานได้ดี แต่จะล้างสูตรในเซลล์ใดเซลล์หนึ่งของฉัน ฉันจะแก้ไขรหัสนี้เพื่อข้ามหนึ่งเซลล์ในชีตของฉันได้อย่างไร

Sub MoveRowBasedOnCellValue ()
'ปรับปรุงโดย Extendoffice 2017/11/10
Dim xRg เป็นช่วง
Dim xCell เป็นช่วง
มืดมนตราบนานเท่านาน
Dim J ตราบ
หรี่ K ตราบ
i = แผ่นงาน ("ข้อมูล") ใช้ช่วง.Rows.count
J = แผ่นงาน ("เสร็จสิ้น") UsedRange.Rows.count
ถ้า J = 1 แล้ว
ถ้า Application.WorksheetFunction.CountA(Worksheets("Completed")).UsedRange) = 0 แล้ว J = 0
End If
ตั้งค่า xRg = แผ่นงาน ("ข้อมูล") ช่วง ("A1:A" & i)
เกี่ยวกับข้อผิดพลาดต่อไป
Application.ScreenUpdating = เท็จ
สำหรับ K = 1 ถึง xRg.count
ถ้า CStr(xRg(K).Value) = "เสร็จสิ้น" แล้ว
xRg(K).EntireRow.Copy Destination:=Worksheets("Completed")).Range("A" & J + 1)

xRg(K).แถวทั้งหมด.ล้างเนื้อหา


เจ = เจ + 1
End If
ถัดไป
Application.ScreenUpdating = จริง
คอลัมน์ ("A:A") เลือก
ActiveWorkbook.Worksheets("Data").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Data") .Sort.SortFields.Add2 Key:=Range("A3:A16") _
, SortOn:=xlSortOnValues, ลำดับ:=xlAscending, DataOption:=xlSortNormal
ด้วย ActiveWorkbook.Worksheets("Data").Sort
.SetRange Range("A2:Q16")
.Header = xlใช่
.MatchCase = เท็จ
.การวางแนว = xlTopToBottom
.SortMethod = xlPinYin
.นำมาใช้
Application.Goto Reference:=Worksheets("Data")).Range("A3")
จบด้วย
1 ปีที่ผ่านมา
·
#2711
0
โหวต
แก้
สวัสดี,

คุณตั้งใจคัดลอกโค้ดที่ใช้งานได้จริงเพียงบางส่วนโดยไม่ได้ตั้งใจใช่หรือไม่ เนื่องจากรายการที่คุณให้มานั้นไม่สมบูรณ์

อย่างไรก็ตาม หากต้องการข้ามหนึ่งเซลล์ในชีตของคุณ คุณสามารถเพิ่มสตริงตามที่แสดงในภาพด้านล่าง อย่าลืมแทนที่เซลล์ $A$2 ด้วยเซลล์จริงที่จะข้ามไปในชีตของคุณ
ข้าม cell.png

หากคุณมีคำถามเพิ่มเติม โปรดอย่าลังเลที่จะถามฉัน

อแมนดา
เอกสารแนบ (1)
  • หน้า:
  • 1
ไม่มีคำตอบสำหรับโพสต์นี้