Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1480to1484
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

Excel VBA bestimmte Spalten Kopieren, weiter vor e

Excel VBA bestimmte Spalten Kopieren, weiter vor e
09.03.2016 16:26:26
Susi
Liebe VBA Genies,
mit Durchsuchen vom Internet habe ich mir schon so einige kleine Makros zusammengebastelt. Heute finde ich aber nichts, deshalb wende ich mich an euch.
Aufgezeichnet habe ich folgendes Makro
Sub Makro4()
' Makro4 Makro
Range("A1").Select
Selection.End(xlToRight).Select
Columns("CX:DD").Select
Range("DD1").Activate
Selection.Copy
Columns("CT:CT").Select
Selection.Insert Shift:=xlToRight
Application.CutCopyMode = False
End Sub
jetzt soll es so umgebaut werden, das immer die letzten 7 Spalten Kopiert werden und 4 Spalten vorher wieder eingefügt werden sollen. Da dies jeden Monat erneut geschehen soll und sich die Liste dann jeweils um die Spalten erweitert ... kann ich nicht wie oben in dem aufgezeichneten Makro nehmen. Meine letzten 7 Spalten enthalten jede Menge Formeln, die für die anschließende Berechnung wichtig sind.
Vorab schon mal vielen Dank für Euro Mühe.
Gruß Susi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA bestimmte Spalten Kopieren, weiter vor e
09.03.2016 18:22:45
Michael
Hi Susi,
versuch's mal damit:
Sub spaltenKopieren()
Dim spalte As Long
spalte = Range("ZZ1").End(xlToLeft).Column
If spalte 
... geht halt nur bis ZZ
Schöne Grüße,
Michael

AW: Excel VBA bestimmte Spalten Kopieren, weiter vor e
10.03.2016 12:48:46
Susi
Hallo Michael,
danke für Deine Hilfe, hat mir sehr geholfen.
Habe an dem Marko noch ein bisschen gebastelt und so sieht es jetzt aus und schein zu funktionieren.
Wenn ein Schönheitsfehler drin ist, der evtl. zu Problemen führen könnte, bin ich für Hinweise offen.
Sub spaltenKopieren()
Dim spalte As Long
spalte = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Column
Columns(spalte - 6).Resize(, 7).Copy
Columns(spalte - 10).Insert Shift:=xlToRight
Application.CutCopyMode = False
End Sub
Für andere Leien
Diese Zeile
spalte = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Column
'habe ich bei http://www.excel-inside.de/vba-loesungen/ gefunden. Da findet man tolle Anregungen.
Gruß Susi

Anzeige
Danke für die Rückmeldung
10.03.2016 15:46:43
Michael
Hi Susi,
die Ermittlung der rechtesten Spalte ist jetzt deutlich "sauberer", danke für den Hinweis.
Es mag in Deinem Fall nicht definitiv erforderlich sein, aber die Zeile mit dem kleiner 10 verhindert, daß das Makro mit einer Fehlermeldung abbricht, falls nicht genug Spalten für die Aktionen vorhanden sein sollten (vielleicht, wenn Du ein neues Blatt anlegst) - die frißt kein Brot, ich würde sie drinlassen.
Wenn wir schon bei Tips sind: Papa Herber hat auch einiges zu bieten:
https://www.herber.de/xlfaq/index.html
Schöne Grüße,
Michael

Anzeige
AW: Danke für die Rückmeldung
10.03.2016 16:37:16
Susi
Hallo Michael,
die kleiner 10 habe ich rausgenommen, weil immer "geht nicht" kam.
Habe sie jetzt unter
spalte = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Column
reinkopiert und da geht es.
Noch etwas aus der ursprünglich
Columns(spalte - 9)
musste ich
Columns(spalte - 10)
machen, damit die Spalten an richtiger Stelle landen.
Nochmals vielen Dank. Klappt Super.
Herber kenne ich auch, da habe ich auch schon so einiges gefunden.
Gruß Susi

ok, gerne, Gruß zurück owT
11.03.2016 09:14:37
Michael

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige