Anzeige
Archiv - Navigation
1372to1376
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

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!

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

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!

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige