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

Kopieren in erste Freie Spalte ab Zeile

Kopieren in erste Freie Spalte ab Zeile
18.03.2021 16:34:43
Burkhard
Hallo Leute,
ich kopiere per VBA eine Spalte aus einer Tabelle in ein anderes Tabellenblatt einer anderen Datei. nun sollen die Werte in der ersten Freien Spalte aber erst ab Zeile 5 eingefügt werden.
Da suche ich mir im Moment die Finger wund :-(
Das einfügen funktioniert soweit ganz gut, nur das ich in den ersten Zeilen Überschriften habe, und die Werte sollen da drunter.
hier mal der entsprechende Ausschnitt des Code den ich bis jetzt habe....
Else
Sheets("Fahrplan").Range("d2:d97").Copy
Workbooks.Open Filename:=strfilename1, UpdateLinks:=3
Sheets("Tabelle2").Cells(Cells(Columns.Count).End(xlToLeft).Column + 1).PasteSpecial _
Paste:=xlValue, Operation:=xlNone, SkipBlanks:=False
End If
Gruß Burkhard

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren in erste Freie Spalte ab Zeile
18.03.2021 16:36:44
Burkhard
PS ich kann erst wieder am Montag testen ;-)

AW: Kopieren in erste Freie Spalte ab Zeile
18.03.2021 16:44:42
Regina
Hi,
sollte ab Zeile 5 so passen:
Sheets("Tabelle2").Cells(5,Cells(Columns.Count).End(xlToLeft).Column + 1).PasteSpecial _
Paste:=xlValue, Operation:=xlNone, SkipBlanks:=False
Gruß
Regina

AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 07:43:01
Burkhard
Hallo Regina,
manchmal sind es die Kleinigkeiten die helfen.
Hat wunderbar geklappt. Danke!
Jetzt hab ich nur noch ein Problem.
In Zeile 1 von dem Tabellen blatt sind Werte eingetragen.
Ich suche ja nun die erste freie Spalte in Zeile 5 um neue Daten einzutragen.
Natürlich sucht das Script in der ersten Zeile nach der ersten freien Spalte.
Gibt es da eine Lösung um Spalte eins aus der Suche auszuklammern?

Anzeige
AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 09:37:19
Regina
Hallo Burkhard,
die Frage verstehe ich nicht ganz. Diesee Code:
Sheets("Tabelle2").Cells(5,Cells(Columns.Count).End(xlToLeft).Column
ermittelt in Zeile 5 die erste freie Spalte. Was passt da nicht? Oder bist Du mit Spalten und Zeilen durcheinander gekommen? Sonst bitte mal eine Beispieldatei hochladen.
Gruß Regina

AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 11:05:58
Burkhard
Hallo Regina,
ich bekomme die Datei leider nicht hochgeladen, da sie mehr als 300kb hat :-(.
In der ersten Zeile hatte ich am Anfang noch Daten in den Zellen A-F stehen, die dafür gesorgt haben, das nicht in der nächsten freien Spalte eingefügt wurde sondern in Spalte G obwohl Spalte E und F bis auf Zeile 1 leer waren.
Nun habe ich das soweit geändert, dass die Zeile 1 nicht mehr dort eingefügt wird. Daher kann ich die Daten auch wieder ab der ersten freien Spalte in Zeile 1 suchen. ;-)
aber nun kommts....
1. Das Format in Zeile 1 passt nicht
2. Die erste freie Spalte wird nach wie vor erst in Spalte G gefunden, obwohl Spalte E und F frei sind
3. Die Daten werden ausschließlich in die Spalte G geschrieben... obwohl der nächste Versuche dann in H erscheinen sollte.
Den derzeit aktuellen Codeausschnitt habe ich hier mit eingefügt.
Als Anmerkung: Im "ELSE" ist das Blatt Fahrplan der Startabelle gemeint, nicht aus der angehängten Datei.
Gruß Burkhard
If Dir(strfilename1) = "" Then
Sheets("Fahrplan").Copy
ActiveWorkbook.SaveAs _
Filename:=strfilename1
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveWorkbook.Sheets(2).Name = "Tabelle2"
Sheets("Fahrplan").Range("a2:g110").Copy
Sheets("Tabelle2").Range("a1:g109").PasteSpecial xlPasteValues
Sheets("Fahrplan").Activate
Range("d2:d97").FormulaLocal = "=SUMME(Tabelle2!D1:AZ1)"
ActiveWorkbook.Close savechanges:=True
Else
Sheets("Fahrplan").Range("d2:d97").Copy
Workbooks.Open Filename:=strfilename1, UpdateLinks:=3
Sheets("Tabelle2").Cells(Cells(Columns.Count).End(xlToLeft).Column + 1).PasteSpecial _
Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False
ActiveWorkbook.Close savechanges:=True

Anzeige
AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 12:25:09
Regina
Hi,
aber hier:
Sheets("Tabelle2").Cells(Cells(Columns.Count).End(xlToLeft).Column + 1)
fehlt doch wieder die 5, für die 5. Zeile:
Sheets("Tabelle2").Cells(Cells(5,Columns.Count).End(xlToLeft).Column + 1)
Gruß Regina

AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 12:44:12
Burkhard
Hallo Regina,
hatte ich ja geschrieben, ich habe es nun so gemacht, das die Daten in die erste Zeile eingefügt werden können. Daher hat sich die Suche ab Zeile 5 erledigt.
Nun ist es so, das die erste Zeile ab Spalte D leer ist.
Es wird aber Grundsätzlich nur die Spalte "G" als freie Spalte gefunden,
und wenn G gefüllt ist, müssten die Daten ja in Spalte H eingefügt werden, aber das passiert leider auch nicht.
Bin gerade verzweifelt...

Anzeige
AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 12:48:31
Regina
...ok, begriffen...dann musst Du aber auch Zeile 1 angeben:
Sheets("Tabelle1").Cells(1, Columns.Count).End(xlToLeft).Column + 1
Gruß Regina

AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 13:09:32
Burkhard
Sheets("Tabelle2").Cells(1, Columns.Count).End(xlToLeft).Column + 1.PasteSpecial _
Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False
Wenn ich das so einsetze, dann bekomme ich mecker...
Da steht dann:
Fehler beim Kompilieren:
erwartet: Anweisungsende
Da sollen ja dann die Werte eingefügt werden ohne Formeln oder Ähnlichem.
Gruß Burkhard

AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 13:32:15
Regina
... sorry, wenn man sich erstmal verheddert hat ...
müsste so passen:
Sheets("Tabelle2").Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial _
Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False

Anzeige
AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 14:03:57
Burkhard
So, nun bekomme ich eine Fehlermeldung mehr.
das (hoffentlich) letzte Problem ist nun noch...
Mit dem Code kommt er bei der Suche nur bis zur Spalte E.
Bei allen folgenden Durchläufen wird Spalte E überschrieben.
Else
Sheets("Fahrplan").Range("d2:d97").Copy
Workbooks.Open Filename:=strfilename1, UpdateLinks:=3
Sheets("Tabelle2").Cells(2, Cells(2, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial _
Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False
ActiveWorkbook.Close savechanges:=True
Kann es an der Formatierung liegen? Die Striche ersetzen eine Null, der Übersichtlichkeit wegen.
Datum von bis BHKW_1 [kW]
22.03.2021 0:00 0:15 --- ---
22.03.2021 0:15 0:30 --- ---

Anzeige
AW: Kopieren in erste Freie Spalte ab Zeile
22.03.2021 14:04:47
Burkhard
  • Datum von bis BHKW_1 [kW]
    22.03.2021 0:00 0:15 --- ---
    22.03.2021 0:15 0:30 --- ---
    22.03.2021 0:30 0:45 --- ---


  • AW: Kopieren in erste Freie Spalte ab Zeile
    22.03.2021 14:06:42
    Burkhard
    ich bekomme die Spalten hier leide rnicht richtig dargestellt :-(
    Spalte A beinhaltet das Datum
    Spalte B die Zeit von
    Spalte C die Zeit bis
    Spalte D BHKW_1[kW]
    ab Spalte e ohen Überschrift

    AW: Kopieren in erste Freie Spalte ab Zeile
    22.03.2021 14:25:46
    Burkhard
    Leider noch ein Nachtrag....
    Habe gerade festgestellt, das er die Werte in Spalte D auch jedesmal überschreibt. :-(
    Ich verzweifel.....

    AW: Kopieren in erste Freie Spalte ab Zeile
    22.03.2021 14:27:46
    Regina
    ... wenn Spalte E keine Überschrift hat, also leer ist, und in Zeile 1 die erste leere Spalte ermittelt wird, ist klar, dass immer E dabei raus kommt.
    Ich verstehe das ganze noch nicht so ganz:
    Werden die Daten wirklich nebeneinander in eine Zeile eingefügt? Die Datensätze scheinen doch untereinander zu stehen.

    Anzeige
    AW: Kopieren in erste Freie Spalte ab Zeile
    22.03.2021 14:39:13
    Burkhard
    Also; die Daten sind folgendermaßen aufgebaut.
    ein Datensatz sind immer 96 - 100 Werte, die untereinanderstehen.
    In den ersten drei Spalten sind Datum Beginn- und Endezeit angegeben.
    Die erste Datenspalte "E" wird mit dem ersten kopieren gefüllt.
    Danach werden nur noch die 96 - 100 Werte aus einer anderen Tabelle kopiert und
    in dieses Blatt (Tabelle2) in der ersten freien Spalte eingefügt.
    Beim nächsten Mal wieder 96 Werte in die nächste freie Spalte usw.
    Im Tabellenblatt 1 (Fahrplan) werden diese summiert.
    Die Suche habe ich jetzt wieder auf die zweite Zeile gestellt.
    Sheets("Tabelle2").Cells(2, Cells(2, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial _
    Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False
    
    Die Werte bestehen entweder aus Zahlen oder aus "---"
    Aber wie eben schon geschrieben, es wird beim einfügen durch das Script sogar die bestehenden Daten überschrieben.

    Anzeige
    AW: Kopieren in erste Freie Spalte ab Zeile
    22.03.2021 16:56:20
    Regina
    ...ok, noch eine Idee:
    Das zweite Cells-Objekt bezieht sich auf das aktive Blatt, nicht auf Tabelle2. Teste mal so:
    Sheets("Tabelle2").Cells(2, Sheets("Tabelle2").Cells(2, Columns.Count).End(xlToLeft).Column + 1).PasteSpecial _
    Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False

    AW: Kopieren in erste Freie Spalte ab Zeile
    22.03.2021 17:10:46
    Burkhard
    Hallo Regina,
    ich habe jetzt provisorisch eine etwas umständlichere aber für mich einfache Variante gewählt, da die Datei benötigt wird bei uns.
    Ich werde deinen Vorschlag aber noch testen, dafür brauche ich jetzt aber ein paar Tage.
    Bis hierhin sage ich ganz doll Danke mit einem Strauß Blumen und einer Schokolade.
    Ich melde mich hier bald wieder zurück ob es funktioniert hat.
    Gruß Burkhard
    Anzeige

    305 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige