Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

zellen aus aktiver zeile copypasten

zellen aus aktiver zeile copypasten
19.03.2020 07:59:25
hofe
Moin Moin liebe Community,
da ich wie viele aus aktuellem Anlass etwas mehr Zeit habe, versuche ich gerade meine Arbeitsabläufe durch ein bissel VBA zu optimieren.
im Archiv bin ich dabei auf folgendes gestoßen, was an sich schon funktioniert, ich aber an den nötigen Änderungen scheitere und nun jemand suche, der mir eventuell etwas hilft.
folgenden Code möchte ich gerne abändern.
Sub Test()
Dim wks As Worksheet
Dim iRow As Integer
Set wks = Worksheets("Planung")
iRow = wks.Cells(Rows.Count, 1).End(xlUp).Row + 1
r = ActiveCell.Row
Range(Cells(r, 1), Cells(r, 6)).Copy wks.Rows(iRow)
ActiveCell.Activate
End Sub

Der kopierte Inhalt sollte als Werte kopiert werden, also ohne Formatierungen.
Und ich möchte den Inhalt gerne in etwas versetz einfügen, in meinem Fall spalte E auf dem Arbeitsblatt Planung.
Und eine kleine bitte hätte ich noch.
da ich gerne etwas mehr in VBA lernen möchte, wäre es schön, wenn es eine kleine Erklärung gibt.
Ich freue mich auf eure Antworten und wünsche noch ein frohes schaffen

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zellen aus aktiver zeile copypasten
19.03.2020 08:40:52
Regina
Hi, die Grundidee wäre so:
Sub Test()
Dim wks As Worksheet
Dim iRow As Integer
Dim r As Long    ' Alle variablen deklarieren
Set wks = Worksheets("Planung")
iRow = wks.Cells(Rows.Count, 5).End(xlUp).Row + 1  ' ermittelt in E die erste leere Zelle
r = ActiveCell.Row   ' merkt sich die Zeile der Cursorposition
Range(Cells(r, 1), Cells(r, 6)).Copy  ' Kopiere in der aktieven Zeile von A bis F
wks.Cells(5, iRow).PasteSpecial xlPasteValues ' nur Werte einfügen
Application.CutCopyMode = False  ' Kopieren beenden (Laufrahmen um Zelle entfernen)
ActiveCell.Activate
End Sub
Allerdings ist das noch nicht ganz zu Ende gedacht:
In Deinem Code werden in der aktiven Zeile die Werte von A bis F kopiert:
Range(Cells(r, 1), Cells(r, 6)).Copy

Im ursprünglichen Code werden diese Werte in die erste leere Zeile kopiert, beginnend dann logischer Weise ab Spalte A. Wenn Du sagst, dass Du jetzt ab Spalte E (5) einfügen möchtest (in meinem Code umgesetzt), werden die Werte nicht zwingend ab Spalte A eingetragen. Ist das gewollt?
Teste mal den Code.
Gruß Regina
Anzeige
AW: zellen aus aktiver zeile copypasten
19.03.2020 08:59:33
hofe
Hallo Regina,
als aller erstes mal DANKE!
ich habe den Code eben mal eingefügt und er kopiert nun auch nur die Werte.
Was ich mir aber nicht erklären kann, ist das Resultat beim einfügen.
Da springt er zwar auf den Reiter Planung, CopyPastet aber alles in Zeile 5 Spalte BE.
Wenn ich den Vorgang erneut starte CopyPastet er alles erneut an die selbe stelle und springt auch nicht mehr eine Zeile tiefer.
AW: zellen aus aktiver zeile copypasten
19.03.2020 09:06:07
Regina
Ahh... Asche auf mein Haupt,hier habe ich die Parameter verdreht:

wks.Cells(iRow, 5).PasteSpecial xlPasteValues ' nur Werte einfügen 
Gruß Regina
Anzeige
AW: zellen aus aktiver zeile copypasten
19.03.2020 09:12:07
hofe
Du bist die Beste.
Vielen lieben Dank.
Nun funktioniert es super.
AW: zellen aus aktiver zeile copypasten
19.03.2020 09:25:55
Regina
Prima, danke für die Rückmeldung.
Gruß Regina
AW: zellen aus aktiver zeile copypasten
19.03.2020 10:04:59
hofe
Eine kleine Sache hätte ich noch.
Als Basis dient bei mir eine Tabelle, die auch als solches formatiert ist.
Wenn ich jetzt leere Zeilen in der Tabelle habe, fügt er die Zeile als letztes an die Tabelle an.
Dh. ich muss die Tabelle immer so groß lassen, wie auch Inhalt drin ist.
schöner wäre es, wenn er den Inhalt auch schon in die Tabelle einfügt, sollte in der Zeile noch kein Inhalt stehen.
Ich hoffe du verstehst was ich meine ;-).
AW: zellen aus aktiver zeile copypasten
19.03.2020 10:18:42
Regina
Hmm, ich versuche zu verstehen :-)
Du möchtest , dass sich der als Tabelle formatierte Bereich automatisch nach unten erweitert?
Teste mal so:
Sub Test()
Dim wks As Worksheet
Dim iRow As Integer
Dim r As Long    ' Alle variablen deklarieren
Dim tbl As ListObject
Set wks = Worksheets("Planung")
iRow = wks.Cells(Rows.Count, 5).End(xlUp).Row + 1  ' ermittelt in E die erste leere  _
Zelle
Set tbl = Sheets("Planung").ListObjects("Tabelle1")  'ggf Name der Tabelle anpassen
tbl.Resize tbl.Range.Resize(iRow)
r = ActiveCell.Row   ' merkt sich die Zeile der Cursorposition
Range(Cells(r, 1), Cells(r, 6)).Copy  ' Kopiere in der aktieven Zeile von A bis F
wks.Cells(5, iRow).PasteSpecial xlPasteValues ' nur Werte einfügen
Application.CutCopyMode = False  ' Kopieren beenden (Laufrahmen um Zelle entfernen)
ActiveCell.Activate
End Sub
Achtung in der Zeile "Set tbl..." musst den Namen der "intelligenten Tabelle" angeben. Findest Du auf dem Reiter "Tabellenentwurf" ganz vorne.
Gruß Regina
Anzeige
AW: zellen aus aktiver zeile copypasten
19.03.2020 10:27:38
hofe
manchmal sagen Bilder mehr als 1000 Worte^^
Userbild
Richtig wäre, wenn der kopierte Inhalt Zeile 56 landet.
irgend wie kopiert er den Inhalt aber direkt unter die Tabelle.
Die Tabelle erkennt zwar den Inhalt und Erweitert sich damit, aber die leere Tabellenzeile wird nicht gefüllt.
AW: zellen aus aktiver zeile copypasten
19.03.2020 12:06:11
Torsten
Hallo hofe,
versuch mal diese Zeile zu ersetzen:

iRow = wks.Cells(Rows.Count, 5).End(xlUp).Row + 1

mit

iRow = wks.Range("Tabelle1").Find("", LookIn:=xlValues, lookat:=xlWhole).Row

Anstatt "Tabelle1" trage hier den Namen deiner intelligenten Tabelle ein.
Gruss Torsten
Anzeige
AW: zellen aus aktiver zeile copypasten
19.03.2020 12:14:49
Torsten
Hallo nochmals,
sorry, muss mich korrigieren. Funktioniert nicht so wie gedacht. Aber so:

iRow = wks.ListObjects("Tabelle1").ListColumns(5).Range.Find("", LookIn:=xlValues, lookat:= _
xlWhole).Row

natuerlich wieder die Anpassungen vornehmen.
Gruss Torsten
AW: zellen aus aktiver zeile copypasten
19.03.2020 13:12:57
hofe
Moin Moin Torsten,
ja geht. jetzt habe ich das Problem genau anders rum.
Wenn die Tabelle keine freie Zeile hat bekomme ich einen Fehler.
Laufzeitfehler '91'
Objektvariable oder With-Blockvariable nicht festgelegt
und auch dir mal ein danke.
Eure Hilfe ist echt Cool und im Moment ne schöne Abwechslung
Und weil ich gerade im Flow bin ^^ und sich die Probleme immer erst in der Praxis zeigen,
habe ich noch was.
wenn ich Gruppierungen von Spalten nutze und die gerade ausgeblendet sind kopiert er nicht richtig.
ich habe das jetzt erst mal so gelöst.
Sheets("Planung").Select
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
Sheets("VA-Filter IH").Select
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
gibt es da vielleicht eine schönere Lösung, auf die ich nicht komme?
Anzeige
AW: zellen aus aktiver zeile copypasten
19.03.2020 13:57:09
Torsten
Hallo,
das kannst du vielleicht loesen, indem du vor dem festellen der ersten freien Zeile immer eine Zeile in deine Tabelle einfuegst.
So:

wks.ListObjects("Tabelle1").ListRows.Add AlwaysInsert:=True
iRow = wks.ListObjects("Tabelle1").ListColumns(5).Range.Find("", LookIn:=xlValues, lookat:= _  _
xlWhole).Row

Die andere Sache schau ich mir nochmal an.
Gruss Torsten
AW: zellen aus aktiver zeile copypasten
19.03.2020 14:07:04
hofe
ja das schaut echt gut aus.
Dankeschön.
Und das andere ist halt ein Schönheitsding. Und zur Not ist das Plus auch fix geklickt.
gerne...
19.03.2020 14:10:07
Torsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige