Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1280to1284
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

Status Box aktualisieren

Status Box aktualisieren
23.10.2012 14:01:19
Maximilian
Hallo Jungs!
Ich habe ein kleines Problem. Ich habe eine längere Prozedur in VBA. Es werden verschiedene Dinge getätigt, z.B.
- Bericht wird heruntergeladen
- anschließend geöffnet
- Daten werden bearbeitet
- gedruckt
- gespeichert
Während der Prozedur poste ich den aktuellen Status in eine Listbox. Leider sieht man nicht während der Prozedur, wie sich die ListBox füllt, sondern erst am Ende auf einmal die gesamten Einträge. Das Problem ist, dass die ListBox während der Prozedur quasi nicht optisch aktualisiert wird.
Gibt es einen Befehl, der diese aktualisieren kurz erneuert?

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CROSSPOST O-L
23.10.2012 14:27:17
Maximilian
sehr hilfreich...

AW: Ne, frech von dir,...
23.10.2012 14:46:34
dir,...
Ich wusste nicht, dass die beiden Foren irgendwas miteinander gemein haben.
Die Antwort von Klaus hilft mir leider gar nichts.
Hier der Code, danke für einen hilfreichen Tipp...!
Sub Start()
FormSperren (True)
DeklariereVariablen
'Bericht runterladen
SetStatus ("Suche Bericht...")
If Dir(xlsBericht) = "" Then
ConfirmN
SetStatus ("Kein Bericht gefunden. Lade aktuellen Bericht herunter...")
If Not Download(urlBericht, xlsBericht) Then ConfirmP
Else
ConfirmP
SetStatus ("Bericht gefunden. Überprüfe Aktualität...")
If Format(FileDateTime(xlsBericht), "DD.MM.YYYY")  CDate(MainForm.TextBoxBis.Text) Then
.Rows(i).Delete
Else: i = i + 1
End If
Else: i = i + 1
End If
Loop
End With
Range("A1").Select
ConfirmP
'PivotTabelle erstellen
SetStatus ("Erstelle PivotTabelle...")
ThisWorkbook.Sheets("Daten").Select
ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Daten" + "!$A:$AN").CreatePivotTable TableDestination:="", TableName:= _
"Pivot1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables(1).ColumnGrand = False
ActiveWorkbook.ShowPivotTableFieldList = False
ActiveSheet.Name = "Pivot"
'PivotTabelle bestücken
With ActiveSheet.PivotTables(1).PivotFields("Material-Nummer")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables(1).PivotFields("Handelnder")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables(1).PivotFields(" _
Auftragsmenge in BME"), "Anzahl von Auftragsmenge in BME", xlSum
'Nicht benötigte Daten aus PivotTabelle ausblenden
With ActiveSheet.PivotTables(1).PivotFields("Handelnder")
For i = 1 To .PivotItems.Count
If LCase(.PivotItems(i).Name) = "ec" Then
.PivotItems(i).Visible = True
ElseIf LCase(.PivotItems(i).Name) = "lk" Then
.PivotItems(i).Visible = True
ElseIf LCase(.PivotItems(i).Name) = "nicht zugeordnet" Then
.PivotItems(i).Visible = True
ElseIf LCase(.PivotItems(i).Name) = "wk" Then
.PivotItems(i).Visible = True
Else: .PivotItems(i).Visible = False
End If
Next
End With
ConfirmP
'Auswertungs-Sheet wird bestückt
SetStatus ("Erstelle Auswertungstabelle...")
'Bestellnummern kopieren
For i = 5 To Sheets("Pivot").UsedRange.Rows.Count + 2
Sheets(1).Cells(i + 5, 2).Value = Sheets("Pivot").Cells(i, 1)
Next
'Gesamtmenge
For i = 5 To Sheets("Pivot").UsedRange.Rows.Count + 2
Sheets(1).Cells(i + 5, 6).Value = Sheets("Pivot").Cells(i, 6)
Next
'Rückstand (Bestand - Bestellmenge)
For i = 10 To Sheets(1).UsedRange.Rows.Count
Sheets(1).Cells(i, 5).FormulaR1C1 = "=RC[-2]-RC[1]"
Next
'Bedarf (Bestand + FAUF - Bestellmenge)
For i = 10 To Sheets(1).UsedRange.Rows.Count
Sheets(1).Cells(i, 7).FormulaR1C1 = "=RC[-4]+RC[-3]-RC[-1]"
Next
ThisWorkbook.Sheets(1).Activate
ConfirmP
'Materialnummern in Zwischenablage
Range("B10").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
FormSperren (False)
End Sub

Anzeige
das ist nicht der Code der Listbox. owT
23.10.2012 15:00:17
Matze,Matthias

AW: das ist nicht der Code der Listbox. owT
23.10.2012 15:07:31
Maximilian
Den Code der ListBox?
Was meinst du denn genau?
Sub SetStatus(Text As String)
MainForm.StatusBox.AddItem (Text)
End Sub
Sub ConfirmP()
MainForm.StatusBox.List(MainForm.StatusBox.ListCount - 1) = MainForm.StatusBox.List( _
MainForm.StatusBox.ListCount - 1) + " " + ChrW(10004)
End Sub
Sub ConfirmN()
MainForm.StatusBox.List(MainForm.StatusBox.ListCount - 1) = MainForm.StatusBox.List( _
MainForm.StatusBox.ListCount - 1) + " " + ChrW(10006)
End Sub

Mainform.Repaint owT
23.10.2012 15:26:35
Rudi

AW: Mainform.Repaint owT
24.10.2012 08:18:05
Maximilian
Rudi, vielen Dank, genau das hab ich gesucht ;)

Anzeige
Ist auch zu ändern!...
23.10.2012 17:02:38
Matze,Matthias

Sub ConfirmP()
MainForm.StatusBox.List(MainForm.StatusBox.ListCount - 1) = MainForm.StatusBox.List( _
MainForm.StatusBox.ListCount - 1) + " " + ChrW(10004)

Sub ConfirmN()
MainForm.StatusBox.List(MainForm.StatusBox.ListCount - 1) = MainForm.StatusBox.List( _
MainForm.StatusBox.ListCount - 1) + " " + ChrW(10006)
End Sub


müssten die + nicht & werden ?

...denn hier geht's um VBA, nicht JScript! orT
24.10.2012 01:15:39
Luc:-?
Gruß Luc :-?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige