Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1172to1176
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

Daten in Worksheet, ohne Anzeige zu wechseln?

Daten in Worksheet, ohne Anzeige zu wechseln?
Volker
Hallo zusammen,
mit u.a. Makro ermittele ich in einem Worksheet Zeilen, die ich löschen will (Zeile wird leer gemacht, wenn da in der betreffenden Spalte ein Wert aus dem Array "BekannteGr()" drin steht).
Ich muss aber zu Kontrollzwecken alles, was ich lösche, in einem anderen Worksheet wegspeichern.
Das macht das Makro auch.
Aber: Durch das "Sheets().Select" flimmert der Bildschirm sich tot und es geht viel Zeit verloren.
Gibt es einen Weg, dass der Wert einfach auf dem Sheet "3_Check" weggespeichert wird, ohne dass die Anzeige umspringt?
Danke vorab für jeden Tip,
Volker
'*** 00B025 Defaultmäßig vergebene Gruppen und Gruppentypen löschen ***
'*** Definition in 000002 ***
Sheets("2_Statistik").Select
For ZeilenZ1 = 2 To LetzteZ1
For GrZ = 0 To MaxBekGrZ
AuswertGr = Cells(ZeilenZ1, GroupnameSpalte)
If InStr(UCase(AuswertGr), UCase(BekannteGr(GrZ))) > 0 Then
Range("A" & ZeilenZ1 & ":Z" & ZeilenZ1).Select '*** betreffende Zellen markieren
Selection.Copy '*** kopieren
Sheets("3_Check").Select '*** auf Sheet "3_Check" wechseln
Range("A" & CheckZ1 & ":A" & CheckZ1).Select '*** nächste freie Zeile anwählen
ActiveSheet.Paste '*** dort einfügen
CheckZ1 = CheckZ1 + 1 '*** Index für nächste freie Zeile erhöhen
Sheets("2_Statistik").Select '*** zurück auf Sheet "2_Statistik"
Range("A" & ZeilenZ1 & ":Z" & ZeilenZ1).Select '*** nochmal zu löschende Zellen markieren
Selection.ClearContents *** Markierte Zellen löschen
End If
Next
Next

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

Betreff
Benutzer
Anzeige
AW: Daten in Worksheet, ohne Anzeige zu wechseln?
25.08.2010 16:05:06
Rudi
Hallo,
Durch das "Sheets().Select" flimmert der Bildschirm 

Dann lass es weg.
  With Sheets("2_Statistik")
For ZeilenZ1 = 2 To LetzteZ1
For GrZ = 0 To MaxBekGrZ
AuswertGr = .Cells(ZeilenZ1, GroupnameSpalte)
If InStr(UCase(AuswertGr), UCase(BekannteGr(GrZ))) > 0 Then
.Range("A" & ZeilenZ1 & ":Z" & ZeilenZ1).Copy _
Sheets("3_Check").Range("A" & CheckZ1 & ":A" & CheckZ1) '*** betreffende Zellen  _
kopieren
CheckZ1 = CheckZ1 + 1 '*** Index für nächste freie Zeile erhöhen
.Range("A" & ZeilenZ1 & ":Z" & ZeilenZ1).ClearContents '*** zu löschende Zellen löschen
End If
Next
Next
End With

Gruß
Rudi
Anzeige
Code ohne .SELECT und SELECTION...
25.08.2010 16:06:56
NoNet
Hallo Volker,
hier eine etwas Code-optimierte Variante :
'*** 00B025 Defaultmäßig vergebene Gruppen und Gruppentypen löschen ***
'*** Definition in 000002 ***
With Sheets("2_Statistik").Select
For ZeilenZ1 = 2 To LetzteZ1
For GrZ = 0 To MaxBekGrZ
AuswertGr = .Cells(ZeilenZ1, GroupnameSpalte)
If InStr(UCase(AuswertGr), UCase(BekannteGr(GrZ))) > 0 Then
With .Range("A" & ZeilenZ1 & ":Z" & ZeilenZ1)
.Copy '*** kopieren
Sheets("3_Check").Range("A" & CheckZ1 & ":A" & CheckZ1).Paste ' einfügen
CheckZ1 = CheckZ1 + 1 '*** Index für nächste freie Zeile erhöhen
.ClearContents '*** Zelleninhalt löschen
End With
End If
Next
Next
End With

Gruß, NoNet
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige