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

Tabelle automatisch nach unten ziehen

Tabelle automatisch nach unten ziehen
25.08.2020 16:26:40
Falko
Hallo zusammen,
ich habe mich an einem VBA Makro versucht, welches im Wesentlichen eine Bestehende Tabelle in drei Spalten "nach unten verlängern" soll.
In Spalte A und Spalte O soll die Formel aus A4 und P4 kopiert und über Inhalte einfügen -> Formel nach unten gezogen werden.
Im Bereich B2 bis M? sollen die Formeln aus dem Bereich A4:M4 "nach unten gezogen werden". Das "?" wird durch die Variable "vertikal" definiert.
Das Makro kommt hier ins Stocken:
wsCon.Range("B4:M4").Select
Selection.AutoFill Destination:=Bereich, Type:=xlFillDefault
Bereich.Select
Vorab vielen Dank für eure Hilfe!
Beste Grüße
Falko
Sub UpstreamData()
Dim wsCon As Worksheet
Set wsCon = Worksheets("Control")
Dim wsInput As Worksheet
Set wsInput = Worksheets("Inputs")
' Variable definiert die Anzahl der Zeilen die ab Zeile 5 im Tab. Control hinzugefügt werden mü  _
_
ssen
Dim vertikal As Integer
vertikal = wsCon.Cells(17, 19).Value - 1
Dim Bereich As Range
Set Bereich = ActiveSheet.Range(Cells(5, 2), Cells(5 + vertikal, 13))
wsCon.Range("A5:O5000").ClearContents
wsCon.Range("T6").Value = Application.WorksheetFunction.EoMonth(wsInput.Range("F20"), 0)
wsCon.Range("S10").Value = Application.WorksheetFunction.EoMonth(wsInput.Range("N42"), 0)
wsCon.Range("B4:M4").Select
Selection.AutoFill Destination:=Bereich, Type:=xlFillDefault
Bereich.Select
wsCon.Range("A4").Select
wsCon.Range(Cells(5, 1), Cells(5 + vertikal, 1)).PasteSpecial xlPasteFormulas
wsCon.Range("O4").Select
wsCon.Range(Cells(5, 15), Cells(5 + vertikal, 15)).PasteSpecial xlPasteFormulas
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle automatisch nach unten ziehen
25.08.2020 17:23:20
ralf_b
und warum nutzt du im wesentlichen nicht die Funktion der sogenannten "intelligenten Tabelle"?
die verlängert sich auch automatisch und fügt die Formeln in der neuen Zeile ein.
zu deiner Problembeschreibung kann ich nur sagen, das du dich da möglicherweise etwas verschrieben hast. deine Bereiche scheinen sich zu überschneiden.
AW: Tabelle automatisch nach unten ziehen
25.08.2020 18:02:20
Falko
Hallo Ralf,
vielen Dank für die Rückmeldung.
Es mag sein, dass es noch diverse andere Wege gibt das "Problem" zu lösen. Ich hab jedoch sportlichen Ehrgeiz entwickelt, es über ein Makro zu schaffen.
Hat noch jemand eine Idee, wo der Fehler in meinem Code liegt?
Vielen Dank und beste Grüße
Falko
Anzeige
AW: Tabelle automatisch nach unten ziehen
25.08.2020 18:02:21
Falko
Hallo Ralf,
vielen Dank für die Rückmeldung.
Es mag sein, dass es noch diverse andere Wege gibt das "Problem" zu lösen. Ich hab jedoch sportlichen Ehrgeiz entwickelt, es über ein Makro zu schaffen.
Hat noch jemand eine Idee, wo der Fehler in meinem Code liegt?
Vielen Dank und beste Grüße
Falko
AW: Tabelle automatisch nach unten ziehen
26.08.2020 06:50:45
MCO
Hallo Falko!
Für Autofill muss der Ursprüngliche Zellbereich mit mit zu erweiterenden Bereich liegen. Richtig wäre also:
Sub test()
vertikal = wsCon.Cells(17, 19).Value - 1
'(die Methode, um das Ende der Tabelle ermitteln solltests du ändern. Leider kenn ich deine  _
Tabelle nicht.)
'z.B. Vertikal = activesheet.usedrange.rows.count
'oder Vertikal = activesheet.cells(rows.count,1).end(xlup).row
reihe = vertikal + 5
wsCon.Range("B4:M4").AutoFill Destination:=wsCon.Range("B4:M" & vertikal), Type:=xlFillDefault
End Sub
Bitte bei offenen Fragen den Haken setzen.
Viel Erfolg!
Gruß, MCO
Anzeige
AW: Tabelle automatisch nach unten ziehen
26.08.2020 14:53:36
Falko
Hallo MCO,
vielen Dank für die Rückmeldung.
Folgende Anpassung habe ich nun gemacht:
wsCon.Range("B4:M4").Select
Selection.AutoFill Destination:=wsCon.Range("B5:M" & 5 + wsCon.Range("S17")), Type:=xlFillDefault
Bereich.Select
In "wsCon.Range("S17")" steht ein Wert, eine ganze Zahl, die sich jedoch ändern kann. Ich würde gerne, dass der Bereich aus B4:M4 in Abhängigkeit von dieser Zahl in Zelle S17 in den Bereich (B5:M5 + Wert aus Zelle S17) runterkopiert werden kann. Wie kann ich das in den Code oben integrieren?
Tausend Dank und beste Grüße
Falko
Anzeige
AW: Tabelle automatisch nach unten ziehen
26.08.2020 15:52:04
Gerd
Hallo,
vertikal = wsCon.Cells(17, 19).Value + 6
wsCon.Range("B4:M4").AutoFill Destination:=wsCon.Range("B4:M" & vertikal), Type:=xlFillDefault
Die Selection ist verzichtbar.
Gruß Gerd
AW: Tabelle automatisch nach unten ziehen
26.08.2020 16:55:12
Falko
Vielen Dank, das klappt wunderbar!

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige