By gardin9044 v torek, 10. maja 2022
Objavljeno v Excel
odgovori 1
všeč mi je 0
Ogledov 5.6K
Glasov 0
Uporabljam naslednjo kodo, ki je navedena spodaj. Delam dobro, vendar izbriše formulo v eni od mojih celic. Kako spremenim to kodo, da preskočim eno celico na svojem listu?

Sub MoveRowBasedOnCellValue()
'Posodobil Extendoffice 2017/11/10
Dim xRg As Range
Zatemni xCell kot obseg
Dim i as Long
Dim J Tako dolgo
Dim K As Long
i = Delovni listi("Podatki").UsedRange.Rows.count
J = Delovni listi("Dokončano").UsedRange.Rows.count
Če je J = 1 Potem
Če je Application.WorksheetFunction.CountA(Worksheets("Completed").UsedRange) = 0, potem je J = 0
Konec Če
Nastavi xRg = Delovni listi("Podatki").Razpon("A1:A" & i)
On Error Resume Next
Application.ScreenUpdating = Napačno
Za K = 1 Do xRg.št
Če je CStr(xRg(K).Value) = "Dokončano" Potem
xRg(K).EntireRow.Destination:=Delovni listi("Dokončano").Razpon("A" & J + 1)

xRg(K).EntireRow.ClearContents


J = J + 1
Konec Če
Naslednji
Application.ScreenUpdating = Res
Stolpci("A:A").Izberite
ActiveWorkbook.Worksheets("Data").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Data").Sort.SortFields.Add2 Key:=Range("A3:A16") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Z ActiveWorkbook.Worksheets("Data").Sort
.SetRange Range("A2:Q16")
.Glava = xlDa
.MatchCase = Neresnično
.Orientacija = xlTopToBottom
.SortMethod = xlPinYin
.Prijavi se
Application.Goto Reference:=Worksheets("Data").Range("A3")
Končaj s
Zdravo,

Ali ste pomotoma kopirali le del kode, ki je dejansko delovala? Ker tista, ki ste jo navedli, ni popolna.

Kakorkoli že, če želite preskočiti eno celico na svojem listu, lahko dodate niz, kot je prikazano na spodnji sliki. Ne pozabite zamenjati celice $A$2 z dejansko celico, ki jo želite preskočiti na svojem listu.
preskoči cell.png


Če imate dodatna vprašanja, me prosim ne oklevajte.

Amanda
·
1 letom
·
0 Likes
·
0 Glasovi
·
0 Komentarji
·
Ogled celotne objave