Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife / Loop?

Schleife / Loop?
03.06.2008 19:29:21
Borimir
Hallo zusammen,
ich habe einen Vorgang mit VBA in Excel, den ich mehrmals durchlaufen lassen muss (Auswertung einer Liste mit unterschiedlichen Kategorien).
Um folgenden Quelltext nicht x-mal kopieren zu müssen und jeweils nur die beiden fett gedruckten Wörter zu ändern, gibt es doch bestimmt eine elegantere Methode. Ich dachte an eine Art Schleife, habe allerdings keine Ahnung wie ich das anstellen soll.
Die Variablen (also die beiden fettgedruckten Wörter - "Flightticket") befinden sich in einem eigenen Tabellenblatt und stehen in einer Spalte (von Zeile 1 bis Zeile X). Perfekt wärs, wenn der Vorgang solange durchgeführt wird bis nach Zeile X kein Wert mehr kommt.
Ich hoffe das ist präzise genug, ansonsten nochmal kurz melden ;-)
Schonmal vielen vielen Dank!
Hier der Quelltext:

Sub Makro1()
' Makro1 Makro
'Daten auswählen und Rüberkopieren
Sheets("data").Select
Range("A4:F200").Select
Selection.AutoFilter
ActiveSheet.Range("$A$4:$F$200").AutoFilter Field:=1, Criteria1:= _
"Flightticket"
Selection.Copy
Sheets("transfer").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1:F1").Select
Selection.ClearContents
Range("B1").Select
ActiveCell.FormulaR1C1 = "Flightticket"
'alles markieren und rüber kopieren:
Dim r As Range
Dim letzteZeile As Long
Dim letzteZelle As Range
For Each r In ActiveSheet.UsedRange
If r.Rows.Hidden = False Then
letzteZeile = r.Row
End If
Next
Range("A1:F" & letzteZeile).Select
Selection.Cut
Sheets("final").Select
Range("A1").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Range("A1").Select
End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife / Loop?
03.06.2008 19:50:00
Daniel
Hi
mal so ins blaue, ohne zu testen.
die Änderungen sind Fett

sub Dein Makro
dim Zelle as range
Set Zelle = Sheets("xxx").Range("A1") '--- hier erste Zelle er der Variablenliste angeben.
Do until Zelle.value = ""
'Daten auswählen und Rüberkopieren
Sheets("data").Select
Range("A4:F200").Select
Selection.AutoFilter
ActiveSheet.Range("$A$4:$F$200").AutoFilter Field:=1, Criteria1:= _
Zelle.value
Selection.Copy
Sheets("transfer").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1:F1").Select
Selection.ClearContents
Range("B1").Select
ActiveCell.FormulaR1C1 = Zelle.value
'alles markieren und rüber kopieren:
Dim r As Range
Dim letzteZeile As Long
Dim letzteZelle As Range
For Each r In ActiveSheet.UsedRange
If r.Rows.Hidden = False Then
letzteZeile = r.Row
End If
Next
Range("A1:F" & letzteZeile).Select
Selection.Cut
Sheets("final").Select
Range("A1").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Range("A1").Select
Set Zelle = Zelle.Offset(1,0)
loop
end sub


Gruß, Daniel

Anzeige
AW: Schleife / Loop?
04.06.2008 04:39:23
Borimir
Funktioniert auf Anhieb!
Vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige