Excel / VBA - Markera text som innehåller och flytta till sida2

Permalänk

Excel / VBA - Markera text som innehåller och flytta till sida2

Hej!

Jag har suttit med detta dokument ett bra tag och allt fungerar förutom nedan. Jag vill att när det finns rader som har #N/A i sig så ska dessa kopieras och klistras in längst nereexcelsida nr2, vilket fungerar. MEN om det inte blir några rader som innehåller #N/A så får jag error, jag vill då att den inte klistrar in nått för det finns inget att klistra in.

ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:="#N/A", Operator:=xlOr, Criteria2:="#SAKNAS!"

Dim rng As Range
Set rng = ActiveSheet.UsedRange
Set rng = rng.Offset(1).Resize(rng.Rows.Count - 1).Find(What:="#N/A", LookAt:=xlPart, LookIn:=xlValues)

rng.Select
Selection.Copy

Sheets("Latest masterlist").Select
Dim LASTROW2 As Long
LASTROW2 = Cells(Rows.Count, 1).End(xlUp).Row
Rows(LASTROW2).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

<3

Visa signatur

ϟ AMD Ryssen 5900X64 GB DDR4 2080 TI NVMe SSD 500GB + 1TB ϟ
Former q-net master with power of twenty +N and 100 +M ...

Permalänk
Medlem
Skrivet av calvinclown:

Hej!

Jag har suttit med detta dokument ett bra tag och allt fungerar förutom nedan. Jag vill att när det finns rader som har #N/A i sig så ska dessa kopieras och klistras in längst nereexcelsida nr2, vilket fungerar. MEN om det inte blir några rader som innehåller #N/A så får jag error, jag vill då att den inte klistrar in nått för det finns inget att klistra in.

ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:="#N/A", Operator:=xlOr, Criteria2:="#SAKNAS!"

Dim rng As Range
Set rng = ActiveSheet.UsedRange
Set rng = rng.Offset(1).Resize(rng.Rows.Count - 1).Find(What:="#N/A", LookAt:=xlPart, LookIn:=xlValues)

rng.Select
Selection.Copy

Sheets("Latest masterlist").Select
Dim LASTROW2 As Long
LASTROW2 = Cells(Rows.Count, 1).End(xlUp).Row
Rows(LASTROW2).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

<3

En vild gissning som inte är testad:

Citat:

ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:="#N/A", Operator:=xlOr, Criteria2:="#SAKNAS!"

Dim rng As Range
Set rng = ActiveSheet.UsedRange
Set rng = rng.Offset(1).Resize(rng.Rows.Count - 1).Find(What:="#N/A", LookAt:=xlPart, LookIn:=xlValues)

on error goto end

rng.Select
Selection.Copy

Sheets("Latest masterlist").Select
Dim LASTROW2 As Long
LASTROW2 = Cells(Rows.Count, 1).End(xlUp).Row
Rows(LASTROW2).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

end:

Alltså om det blir fel i koden ska den hoppa till sista raden och avsluta koden. Men det förutsätter att det endast blir fel på grund av att den inte hittar något att kopiera.
Blir det fel i koden av en annan anledning är detta inte en bra lösning.

EDIT: nu när jag tänker på det så kanske "end" är ett dumt ord att använda. Det kanske används av VBA. Minns inte...
Men om det blir strul så byt ut de två "end" mot "boooboooo" eller nått..