Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Funktion so oft wiederholen wie ...

Forumthread: VBA Funktion so oft wiederholen wie ...

VBA Funktion so oft wiederholen wie ...
01.08.2014 14:40:30
Max
Hallo *,
ich habe noch eine Frage. Mittlerweile kann ich meine Funktion mithilfe von
For i = 1 To 14
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Next i
14x wiederholen lassen. Nun möchte ich, dass die Funktion so oft wiederholt wird, wie ich in dem Blatt "upload_data" gefüllte Zellen im Bereich ab B18 habe.
Kann man das evtl. irgendwie so gestalten?
y = Anzahl an gefüllten Zellen ("B18:B" & Lastrow)
Vielen Dank!

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Funktion so oft wiederholen wie ...
01.08.2014 14:48:19
Robert
Hallo Max.
Möchtest du bei jeder Ausführung dann auch entsprechend nicht mehr Range(B18) einfügen, sondern dann B19, B20....?
PS: Goldene Regel von VBA: Meide .Select und .Activate wie den Teufel. Bei Großen Files rechnet er dir dann ewig rum.
Statt:
For i = 1 To 14
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
Selection = Worksheets("upload_data").Range("b18")
Next i
Schreibe:
For i = 1 To 14
Cells(65000, 1).End(xlUp).Offset(1, 0) = Worksheets("upload_data").Range("b18")
Next i
Viele Grüße
Robert

Anzeige
AW: VBA Funktion so oft wiederholen wie ...
01.08.2014 14:51:36
{Boris}
Hi Max,
Option Explicit
Sub til()
Dim i As Long, j As Long
j = Worksheets("upload_data").Cells(Rows.Count, 2).End(xlUp).Row
For i = 18 To Worksheets("upload_data").Cells(Rows.Count, 2).End(xlUp).Row
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Worksheets("upload_data").Cells(i, 2)
Next i
End Sub
VG, Boris

Anzeige
Sorry...
01.08.2014 14:52:50
{Boris}
...war etwas "doppelt":

Option Explicit
Sub til()
Dim i As Long, j As Long
j = Worksheets("upload_data").Cells(Rows.Count, 2).End(xlUp).Row
For i = 18 To j
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Worksheets("upload_data").Cells(i, 2)
Next i
End Sub
VG, Boris

Anzeige
AW: VBA Funktion so oft wiederholen wie ...
01.08.2014 15:05:33
Max
Hallo Robert & Boris,
ich war noch etwas zu ungenau bei der Beschreibung... Aber vielen Dank für eure schnellen Antworten.
Ich habe zwei Tabellenblätter ("Upload_data" und "data"). Per Schaltfläche in Tabellenblatt "data" starte ich aktuell folgenden Makro 14x:
For i = 1 To 14
Cells(65000, 1).End(xlUp).Offset(1, 0) = Worksheets("upload_data").Range("b18")
Next i
... und weitere von diesen "Übertragungsfunktionen".
Nachdem upload_data b18 14x untereinander kopiert wurde, soll dassselbe mit b19 und allen weiteren gefüllten Zellen im bereich ab b18 durchgeführt werden.

Anzeige
AW: VBA Funktion so oft wiederholen wie ...
01.08.2014 15:15:27
Max
Also vielleicht wäre es ja wiefolgt möglich:
For x = 1 to (AnzahlZellen Bereich b18:letzte beschriebene Zelle Bereich B)
For i = 1 To 14
Cells(65000, 1).End(xlUp).Offset(1, 0) = Worksheets("upload_data").Range("b18"+x)
Next i
("b18"+x) sodas auf b19 etc. gesprungen wird (falls das geht)
Next x
Geht sowas in der Art irgendwie?
Vielen Lieben Dank im Voraus!

Anzeige
Wo ist LaufVariable i geblieben, ...
01.08.2014 16:00:43
Luc:-?
…Max?
So was in der Art geht natürlich nicht, aber schon, wenn's richtig gemacht wird. :->
.Range("b18"+x) ergibt bestenfalls B181, B182 usw. Außerdem würde auch bei richtigerem .Cells(2, 18 + x) niemals B18 angesprochen wdn. Wenn das aber sein soll, dann überleg mal, warum nicht! :->
Viell solltest du dich doch erst mal etwas intensiver mit den Grundlagen von VBA befassen!
Gruß, Luc :-?
Besser informiert mit …
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige