Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Makro Zeilen ausblenden
22.09.2004 17:39:45
Dirk
Hallo liebe Makrospezies,
da meine VBA-Kenntnisse beschränkt sind hoffe ich, dass mir jemand helfen kann.
Ich möchte, dass beim Anstossen eines Makros dieses folgendes macht:
- Wenn Zelleninhalt in Spalte C = 1 dann ganze Zeile markieren
- das ganze von Zeile 10 bis Zeile 200 wiederholen (also nicht das ganze Tabellenblatt!)
- Wenn die entprechenden Zeilen markiert sind, diese dann ausblenden.
Mein bisheriges Problem:
Ich probiere gerade schon mit einer Schleife rum, die jede Zeile überprüft und wenn der Wert in Spalte C dem Suchkriterium entspricht, dann ausblenden und dann nächste Zeile überprüft, usw. Das dauert bei meinem flotten Rechner aber bis zu 1 Minute, und das ist echt zu lange. So eine Abfrage müsste man doch schneller hinkriegen, oder ?
Vielen Dank schon mal im voraus !
Gruß Dirk

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Zeilen ausblenden
22.09.2004 17:49:19
Annett
Hallo Dirk
wo ist Dein Code? Damit wir sehen was Du falsch gemacht hast.
Gruß Annett
AW: Makro Zeilen ausblenden
22.09.2004 17:58:00
Dirk
Sorry, hier ist natürlich der Code, aber bitte nicht lachen, ich habe nun mal keine große Peilung von VBA, aber ich arbeite dran, macht ja echt Spaß
' ++++++++++++++++++++++++Jetzt kommt die Kategorienanzeige
Dim intCount%
Const abzeile = 9
Const biszeile = 210
Const Spalte_Kategorie = 2
Select Case [$E$2]
Case "Konstruktion" 'zeigt nur die Zeilen Konstruktion an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = True
If Cells(intCount, Spalte_Kategorie).Value = "Konstruktion" Then
Rows(intCount).Hidden = False
End If
Next intCount

Case "Formdreherei" 'zeigt nur die Zeilen Formdreherei an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = True
If Cells(intCount, Spalte_Kategorie).Value = "Formdreherei" Then
Rows(intCount).Hidden = False
End If
Next intCount

Case "Einkauf" 'Zeilen nur Einkauf
For intCount = abzeile To biszeile
Rows(intCount).Hidden = True
If Cells(intCount, Spalte_Kategorie).Value = "Einkauf" Then
Rows(intCount).Hidden = False
End If
Next intCount

Case "Vertrieb" 'zeigt nur die Zeilen Kategorie Vertrieb an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = True
If Cells(intCount, Spalte_Kategorie).Value = "Vertrieb" Then
Rows(intCount).Hidden = False
End If
Next intCount


Case "Arbeitsvorbereitung" 'zeigt nur die Zeilen Kategorie Vertrieb an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = True
If Cells(intCount, Spalte_Kategorie).Value = "Arbeitsvorbereitung" Then
Rows(intCount).Hidden = False
End If
Next intCount

Case "Qualitätssicherung" 'zeigt nur die Zeilen Kategorie Qualtitätssicherung an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = True
If Cells(intCount, Spalte_Kategorie).Value = "Qualtitätssicherung" Then
Rows(intCount).Hidden = False
End If
Next intCount

Case "Montage" 'zeigt nur die Zeilen Kategorie Montage an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = True
If Cells(intCount, Spalte_Kategorie).Value = "Montage" Then
Rows(intCount).Hidden = False
End If
Next intCount

Case "GF" 'zeigt nur die Zeilen Kategorie GF an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = True
If Cells(intCount, Spalte_Kategorie).Value = "GF" Then
Rows(intCount).Hidden = False
End If
Next intCount

Case "> alle vergebenen For intCount = abzeile To biszeile
Rows(intCount).Hidden = False
If Cells(intCount, Spalte_Kategorie).Value = "> keine Kategorie Rows(intCount).Hidden = True
End If
Next intCount







Case Else
Rows.Hidden = False
End Select
End Sub
Anzeige
AW: Makro Zeilen ausblenden
22.09.2004 18:32:59
Annett
Hallo Dirk,
vielleicht läuft folgender Code schneller. Ich wollte jetzt keine Beispieldatei zum Testen erstellen
Option Explicit

Sub test()
Application.ScreenUpdating = False
Dim intCount%                ' integer
Const abzeile = 9            ' Startzeile
Const biszeile = 210         ' Endzeile
Const Spalte_Kategorie = 2
Select Case [$E$2]
Case "Konstruktion" 'zeigt nur die Zeilen Konstruktion an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> "Konstruktion"
Next intCount
Case "Formdreherei" 'zeigt nur die Zeilen Formdreherei an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> "Formdreherei"
Next intCount
Case "Einkauf" 'Zeilen nur Einkauf
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> "Einkauf"
Next intCount
Case "Vertrieb" 'zeigt nur die Zeilen Kategorie Vertrieb an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> "Vertrieb"
Next intCount
Case "Arbeitsvorbereitung" 'zeigt nur die Zeilen Kategorie Vertrieb an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> "Arbeitsvorbereitung"
Next intCount
Case "Qualitätssicherung" 'zeigt nur die Zeilen Kategorie Qualtitätssicherung an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> "Qualtitätssicherung"
Next intCount
Case "Montage" 'zeigt nur die Zeilen Kategorie Montage an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> "Montage"
Next intCount
Case "GF" 'zeigt nur die Zeilen Kategorie GF an
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> "GF"
Next intCount
Case "> alle vergebenen <" 'Zeilen nur Entwicklung und Konstruktion
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> "> keine Kategorie <"
Next intCount
Case Else
Rows.Hidden = True
End Select
Application.ScreenUpdating = True
End Sub

Gruß Annett
Anzeige
AW: Makro Zeilen ausblenden
Dirk
Hallo Annett,
sehr nett ;-) von Dir mir zu helfen, die Geschwindigkeit ist aber immer noch ziemlich mau, ich werde mal meinen gesamten Code überprüfen und schauen, ob der Fehler vielleicht woanders drin liegt, trotzdem noch einmal herzlichen Dank !
Gruß Dirk
AW: Makro Zeilen ausblenden
22.09.2004 19:11:36
Annett
Hallo Dirk
noch kürzer

Sub test()
Application.ScreenUpdating = False
Dim intCount%                ' integer
Const abzeile = 9            ' Startzeile
Const biszeile = 210         ' Endzeile
Const Spalte_Kategorie = 2
If Range("E2") = "Konstruktion" Or Range("E2") = "Formdreherei" Or _
Range("E2") = "Einkauf" Or Range("E2") = "Vertrieb" Or _
Range("E2") = "Arbeitsvorbereitung" Or Range("E2") = "Qualtitätssicherung" Or _
Range("E2") = "Montage" Or Range("E2") = "GF" Or Range("E2") = "> alle vergebenen <" Or _
Range("E2") = "> keine Kategorie <" Then
For intCount = abzeile To biszeile
Rows(intCount).Hidden = Cells(intCount, Spalte_Kategorie).Value <> Range("E2")
Next intCount
Else
Rows.Hidden = True
End If
Application.ScreenUpdating = True
End Sub

Gruß Annett
Anzeige
AW: Makro Zeilen ausblenden
Dirk
Hallo Annett,
funzt prima und ist ja auch viel sauberer programmiert, vielen Dank !
Gruß Dirk

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige