ich bins wieder mit meinem VBA-Versuch, der mal wieder gescheitert ist mit Fehler 400. :-(
Folgendes ist das Ziel:
Das Makro soll schauen, bis wohin die Tabelle, welche mit einer DB verknüpft ist, geht. (Tabelle geht Spalte A bis J)
Erkennt er, dass die Tabelle länger ist als die Formeln rechts daneben (welche Spalte K bis DM breit sind), sollen diese kopiert und so lange eingefügt werden, bis die letzte Zeile der DB erreicht ist.
Makro:
Sub kopieren_einfügen()
Dim i As Integer
Dim j As Integer
Dim Sp as Integer
i = 1 'Zeile, von wo aus gestartet wird = Counter, wie viele Zeilen
j = 1 'Zeile, von wo aus gestartet wird = Counter, wie viele Zeilen
Sp = 1 'Spalte, von wo aus gestartet wird = Counter, wie viele Spalten
Do Until ActiveSheet.Range("A" & i).Value = "" 'Spalte A Zeilen zählen
i = i + 1
Loop
Do Until ActiveSheet.Range("K" & j).Value = "" 'Spalte K
j = j + 1
Loop
Do Until ActiveSheet.Range(Sp & "1").Value = "" 'In Zeile eins bei den Überschriften schauen
Sp = Sp + 1
Loop
If i > j Then 'so lange DB länger ist als Berechnung daneben
Do Until i = j 'bis die Zeilen gleich sind
ActiveSheet.Range(Cells(j, 11), Cells(j, Sp)).Select 'ab Spalte K (= 11) Zeilen markieren bis letzte Spalte = Counter Sp
Selection.Copy
Range(Cells(j + 1, 11), Cells(j + 1, Sp)).Select
ActiveSheet.PasteSpecial xlPasteFormulas
Loop
End If
End Sub
Zeilen sind dabei variabel, genauso wie die letzte Spalte, falls mal was hinten angefügt wird.Falls sich jemand denkt: "Nutze intelligente Tabelle!" Ja, haste recht, allerdings bläht das die Datei bei 106 angefügten Spalten dann doch zu sehr auf. Habe es bereits probiert. :-) Im Original ist alles verformelt. Mit einer 16-zeiligen Formel. Geht vllt auch anders....ich weiß aber nicht wie. :-)
Edit: Leider ist meine Beispielmappe trotz Kürzung auf 10 Zeilen zu groß zum Upload. :-( Versteht ihr trotzdem was ich vorhabe?
Kann mir jemand dabei helfen?
LG und lieben Dank,
Sabi