Just nu i M3-nätverket
Gå till innehåll

lista värden från andra blad


lagom

Rekommendera Poster

Hej jag har ett problem som jag inte kan lösa. i Blad1 har jag värden i A2:A5. Dessa värden jämför jag sedan med övriga blad namn. Om värdet i Blad1 A2 stämmer överens med ett blad namn så ska jag gå in i det bladet och kopiera kolumn A klistra in dem i Blad1 med start kolumn B2.

Det övriga värdena i Blad1 A3:A5 ska då flyttas mer till slutet på värdena i kolumn B2 och sedan ska jag fortsätta tills koden har gått igenom alla värden i Blad1 A2:A5. Eftersom jag inte är en stjärna på detta har jag lyckats så här långt. En eftersom jag använder selection.end(xldown) så "skiter" det sig på slutet. Är det någon som har ett tips på hur jag ska gå till väga? Hjälp tas tacksamt emot.

 

 

For Each ws In Worksheets

Bladnamn = ActiveCell

If ws.Name = Bladnamn Then

Sheets(Bladnamn).Select

Range("A2:A200").Select

Selection.SpecialCells(xlCellTypeBlanks).Delete _

Shift:=xlUp

Selection.Copy

Sheets("BilLista").Select

ActiveCell.Offset(0, 1).Select

ActiveSheet.Paste

ActiveCell.Offset(1, -1).Select

Range(Selection, Selection.End(xlDown)).Select

With ActiveCell

Range(Selection, Selection.End(xlDown)).Select

Selection.Cut

ActiveCell.Offset(0, 1).Select

Selection.End(xlDown).Select

ActiveCell.Offset(1, -1).Select

 

ActiveSheet.Paste

ActiveCell.Offset(-1, 0).Select

ActiveCell.Offset(1, 0).Select

End With

End If

Next

 

Länk till kommentar
Dela på andra webbplatser

Ough, det där var en jobbig kod att följa, några tips du kan implementera och sedan återkomma med en "bättre" kod som du kanske har fixat innan dess.

 

1: Undvik utryck som ActiveCell, Select, Selection osv.

Adressera istället med namn eller index

ex.v. skriv om

Sheets(Bladnamn).Select

Range("A2:A200").Select

Selection.SpecialCells(xlCellTypeBlanks).Delete _

Shift:=xlUp

till

With Sheets(Bladnamg)
           .Range("A2:A200").SpecialCells(xlCellTypeBlanks).Delete _
           Shift:=xlUp
End With

samt

Bladnamn = ActiveCell

till

Bladnamn = Cells(rwIndex, colIndex)

där rwIndex och colIndex är rad- respektive kolumnindex som du räknar upp/anger i koden.

 

2: Osäker på vad som sker? Ja då är Select-satser effektiva. För att se vad som sker gör en Select sats på området du tänkt arbeta på och se att det är rätt område.

 

 

Duger dessa tips? Mer hjälp? I vilket fall som helst välkommen med fler frågor.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...