Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wer bastelt mir eine Fortschrittsanzeige?
#1
Hallo excel Freunde,

ich brauche eure Hilfe, vba ist nicht meine Stärke.

Es dauert manchmal 20 sec bis der Code ausgeführt wird.
Hab viel gelesen und bekomme es trotzdem nicht hin eine Fortschrittsanzeige einzubauen Undecided

Eine UserForm, nur mit Progressbar habe ich erstellt.

1. Kann bitte jemand den Code erweitern, dass die Fortschriftanzeige funktioniert?
2. Gibt es andere Möglichkeit die leeren Zellen schneller zu entfernen?           Range A1 bis D400

LG perostojkov

Code:
Sub leer_loeschen()
Dim lgCount As Long
Dim lgLetzte As Long
lgLetzte = Sheets("Import").Range("A65536").End(xlUo).Row
For lgCount = lgLetzte To 1 Step -1
   If IsEmpty(Sheets("Import").Cells(lgCount, 1)) Then
       Sheets("Import").Cells(lgCount, 1).Delete shift:=xlUp
       End If
   If IsEmpty(Sheets("Import").Cells(lgCount, 2)) Then
       Sheets("Import").Cells(lgCount, 2).Delete shift:=xlUp
       End If
   If IsEmpty(Sheets("Import").Cells(lgCount, 3)) Then
       Sheets("Import").Cells(lgCount, 3).Delete shift:=xlUp
       End If
   If IsEmpty(Sheets("Import").Cells(lgCount, 4)) Then
       Sheets("Import").Cells(lgCount, 4).Delete shift:=xlUp
       End If
Next
End Sub
Antworten Top
#2
Hallo,

vielleicht geht es so schneller, so dass gar keine Fortschrittanzeige benötigt wird:
Sub leer_loeschen_kuwer()
 Dim lgCount As Long, lgCalc As Long
 lgCalc = Application.Calculation
 Application.ScreenUpdating = False
 Application.Calculation = xlCalculationManual
 With Sheets("Import").Range("A1:D400")
   For lgCount = 1 To 4
     .Columns(lgCount).SpecialCells(xlCellTypeBlanks).Delete xlUp
   Next lgCount
 End With
 Application.Calculation = lgCalc
 Application.ScreenUpdating = True
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • perostojkov
Antworten Top
#3
Moin!
Das geht sogar noch einfacher:
Code:
Sub Wech_Damit()
Worksheets("Import").Range("A:D").SpecialCells(xlCellTypeBlanks).Delete
End Sub

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • perostojkov
Antworten Top
#4
DANKE² Jungs,

unglaublich was eine Zeile bewirken kann.
Die Fortschrittsanzeige ist damit überflüssig

LG perostojkov
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste