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

Statusanzeige

Statusanzeige
René
Hallo liebe Excelprofis,
ich habe ein Makro mit dem man Daten aus zwei Tabellen in eine Tabelle zusammenführen kann. Leider dauert die Makroausführung sehr lange. Daher wollte ich gern den Button für die Ausführung des Makros in eine UserForm legen und in dieser UserForm beim Ausführen des Makros eine Statusanzeige mit Balken haben der den Fortschritt anzeigt. Könnt ihr mir da bitte helfen
Anbei das Makro das ausgeführt wird, aber eben sehr lange braucht
Private Sub CommandButton1_Click()
Dim a, b, c As Long
For b = 2 To Sheets("Daten Kurzcheck").Cells(Rows.Count, 1).End(xlUp).Row
c = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Daten Kurzcheck").Rows(b).Copy
Sheets("Daten").Rows(b).Insert
Sheets("Daten Kurzcheck").Rows(b).Clear
Next b
Worksheets("Daten").Columns("A:U").sort _
Key1:=Worksheets("Daten").Range("D2"), Order1:=xlAscending, _
Key2:=Worksheets("Daten").Range("A2"), Order2:=xlAscending, Header:=xlYes
For b = 2 To Sheets("Daten Kurzcheck Formeln").Cells(Rows.Count, 3).End(xlUp).Row
c = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Daten Kurzcheck Formeln").Rows(b).Copy
Sheets("Daten Kurzcheck").Rows(b).Insert
Next b
Scannerdaten.Hide
FormularWochenbericht.Show
End Sub

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

Betreff
Benutzer
Anzeige
AW: Statusanzeige
05.01.2010 19:01:06
Daniel
Hi
sinnvoller wäre es, die Zeilen nicht einzeln in einer Schleife, sondern als ganzen Block zu kopieren, das ist wesentlich schneller und dann brauchst du keine Statusanzeige.
ansonsten ist die einfachste Form die Statuszeile von Excel zu nutzen:
Private Sub CommandButton1_Click()
Dim a, b, c As Long
dim Anz as long
For b = 2 To Sheets("Daten Kurzcheck").Cells(Rows.Count, 1).End(xlUp).Row
c = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Daten Kurzcheck").Rows(b).Copy
Sheets("Daten").Rows(b).Insert
Sheets("Daten Kurzcheck").Rows(b).Clear
Next b
Worksheets("Daten").Columns("A:U").sort _
Key1:=Worksheets("Daten").Range("D2"), Order1:=xlAscending, _
Key2:=Worksheets("Daten").Range("A2"), Order2:=xlAscending, Header:=xlYes
Anz = Sheets("Daten Kurzcheck Formeln").Cells(Rows.Count, 3).End(xlUp).Row
For b = 2 To Anz
Application.Statusbar = "Bearbeitungsstand: " & Format(b/Anz, "%")
c = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Daten Kurzcheck Formeln").Rows(b).Copy
Sheets("Daten Kurzcheck").Rows(b).Insert
Next b
Scannerdaten.Hide
application.Statusbar = False 'Statusbar wieder für Excelmeldungen freigeben
FormularWochenbericht.Show
End Sub
das wäre jetzt eine Prozentanzeige, einen Statusbalken könntest du über die WIEDERHOLEN-Funktion mit einem geeigneten Zeichen aus dem Zeichensatz Tahoma erzeugen (in VBA: Worksheetfunction.Rept())
Gruß, Daniel
Anzeige
AW: Statusanzeige
05.01.2010 19:07:34
René
Hallo Daniel,
ich danke Dir ganz sehr und probiere es gleich morgen früh aus. Wünsch Dir ud allen hier auch noch ein gesundes neues Jahr.
Gruß René

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige