Live-Forum - Die aktuellen Beiträge
Datum
Titel
07.05.2024 14:51:38
07.05.2024 13:27:17
Anzeige
Archiv - Navigation
1896to1900
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

nur gefilt. Daten in Schleife

nur gefilt. Daten in Schleife
21.09.2022 20:52:04
Fred
Hallo Excel Experten,
ich arbeite Daten in einer Schleife ab:

Sub schleife_1()
Dim wks_q As Worksheet
Dim wks_import As Worksheet
Dim wks_ausw As Worksheet
Dim lngLastRow As Long
Dim lngC As Long
Dim t As Double ' Zeitmessung
t = Timer
Application.ScreenUpdating = False
Set wks_tp = ThisWorkbook.Sheets("TagesPlan")
Set wks_imp = ThisWorkbook.Sheets("Import")
Set wks_ausw = ThisWorkbook.Sheets("Auswertung")
With wks_tp
lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For lngC = 11 To lngLastRow
wks_imp.Cells(1, 7) = .Cells(lngC, 2).Value
wks_imp.Cells(2, 7) = .Cells(lngC, 6).Value
wks_ausw.Cells(3, 6) = .Cells(lngC, 6).Value
Next lngC
End With
Application.ScreenUpdating = True
MsgBox Timer - t & " sec", , "Makrolaufzeit" ' Zeitmessung
End Sub
Wenn ich nun die Tabelle in Sheet "TagesPlan" filter, wird das von diesem Makro nicht berücksichtigt. - Die Daten in
.Cells(lngC, 2).Value
.Cells(lngC, 6).Value
.Cells(lngC, 6).Value
werden komplett "verarbeitet".
Meine Frage:
Wie ändere ich das Makro, so das nur die gefilterten (sichtbaren) Daten berücksichtigt werden?
Gruss
Fred

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nur gefilt. Daten in Schleife
21.09.2022 21:03:54
ralf_b

For lngC = 11 To lngLastRow
if .cells(lngC,"C").rowheight >0 then
'hier passiert was
end if  

AW: nur gefilt. Daten in Schleife
21.09.2022 21:14:08
Fred
Hallo ralf_b,
genau der richtige "Zusatz",- hatte ich mir "umfangreicher" vorgestellt.
Vielen Dank für deine Unterstützung !!
Gruss
Fred
AW: nur gefilt. Daten in Schleife
21.09.2022 21:15:35
Daniel
Hi
gibt da zwei Möglichkeiten
wenn du die Schleife so wie du über Zeilennummern von-bis laufen lässt, musst du, wie von ralf gezeigt, für jede Zeile prüfen, ob sie ein. oder ausgeblendet ist.
ich würde das so machen:

if .rows(lngC).Hidden = false then
andere Möglichkeit, du weist VBA an, die Schleife nur über sichtbaren Zellen laufen zu lassen.
das geht aber nicht mit einfachen Zählschleifen, sondern nur mit einer For-Each-Schleife über die Zellen:

dim Zelle as Range
For each Zelle in .Range(.Cells(11, 1), .Cells(lngLastRow, 1)).SpecialCells(xlcelltypevisible)
wks_imp.Cells(1, 7) = Zelle.Offset(0, 1).Value
wks_imp.Cells(2, 7) = Zelle.Offset(0, 5).Value
wks_ausw.Cells(3, 6) = Zelle.Offset(0, 5).Value
Next
Gruß Daniel

Anzeige
AW: nur gefilt. Daten in Schleife
22.09.2022 10:08:24
Fred
Hallo Excel Experten,
ich habe ein Problem mit dem durchlaufen einer Schleife,- bei gefilterten Daten.
Das Beispiel von Daniel

if .rows(lngC).Hidden = false then
und von ralf_b

 For lngC = 11 To lngLastRow
if .cells(lngC,"C").rowheight >0 then
'hier passiert was
end if 
funzen zwar,- verursachen aber anscheinend bei manchen "(lngC)" einen mehrfachDurchlauf. Setze ich keinen Filter,- läuft es einwandfrei.
Kann ein Experte bitte mal drauf schauen:
https://www.herber.de/bbs/user/155320.xlsb
Vielleicht habe ich im Code auch nur etwas falsch gesetzt ...
Gruss
Fred
Anzeige
AW: nur gefilt. Daten in Schleife
22.09.2022 13:08:01
ralf_b
Das dürfte eine Fehleinschätzung deinerseits sein.
Der zusätzliche Code prüft nur etwas und nimmt keine Änderungen vor.
AW: nur gefilt. Daten in Schleife
22.09.2022 13:15:50
Fred
ralf_b,
naja,- er ändert die weitere Verarbeitung oder nicht Verarbeitung.
Es ist seltsam, das wenn ich die Daten nicht filter, es keine "Doppler" gibt und sobald ich filter,- einiges an "Doppler" produziert wird.
Gruss
Fred
AW: nur gefilt. Daten in Schleife
22.09.2022 13:34:14
Fred
Hallo Ralf_b,
au Backe!
Das "End IF" war falsch gesetzt.
Muss nach den Aufruf der 2 weiteren Makros gesetzt werden!!
Nun: Alles klar!
Gruss
Fred
Danke für die Rückmeldung owt
22.09.2022 13:38:11
ralf_b
AW: nur gefilt. Daten in Schleife
22.09.2022 14:42:32
Luschi
Hallo Fred,

Nun: Alles klar

- leider nicht ganz, denn Du arbeitest unsauber mit den Vba-Objekten:
- Dim wks_import As Worksheet  - aber
  Set wks_imp = ThisWorkbook.Sheets("Import")
- Set wks_tp = ThisWorkbook.Sheets("TagesPlan")
  wobei es kein: Dim wks_tp As Worksheet gibt
- arbeite in jedem Modul mit der Einstellung 'Option Explicit'
  die man im Vba-Editor unter: Extras - Optionen - Register 'Editor' - Variablendeklaration erforderlich
  einstellen kann
Gruß von Luschi
aus klein-Paris

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige