Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1136to1140
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

Zeile 1 ausblenden wenn A1 nicht 1

Zeile 1 ausblenden wenn A1 nicht 1
andi
Guten Morgen
Ich habe eine Bitte.
Kann mir jemand helfen. Ich bräuchte ein VBA code der mit die ganzen zeilen ausblendet bzw wieder einblendet (automatisch) in der in Spalte 1 keine "1" steht.
Also:
wenn in A1 eine 1 steht dann zeile 1 ausblenden, wenn 0 dann wieder einblenden
wenn in A2 eine 1 steht dann zeile 2 ausblenden, wenn 0 dann wieder einblenden
wenn in A3 eine 1 steht dann zeile 3 ausblenden, wenn 0 dann wieder einblenden
Vielen Dank im Voraus
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 09:11:56
Michael
Wann soll das Makro denn laufen?
Wenn nämlich Zeile aus ausgeblendet ist weil eine 1 drin steht, wie kommt dann ein 0 rein um es wieder einzublenden.
Wo hört die Tabelle auf? wie viele Zeilen?
Gruß
Michael
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 09:26:08
welga
Hallo,
vorausgesetzt in Spalte B steht was, dann versuch mal folgendes:
Sub Makro1()
Application.ScreenUpdating = False
'alle Zeilen einblenden
Cells.Select
Selection.EntireRow.Hidden = False
Range("A1").Select
'Zeilen ausblenden wenn in Spalte A 1 steht
For i = 1 To Sheets(1).[b65536].End(xlUp).Row
If Cells(i, 1).Value = 1 Then
Rows(i).Select
Selection.EntireRow.Hidden = True
End If
'Zeilen ausblenden wenn in Spalte A 0 steht
If Cells(i, 1).Value = 0 Then
Rows(i).Select
Selection.EntireRow.Hidden = False
End If
Next i
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 09:56:28
andi
Hallo
Wie funktioniert das mit dem Loop?
Habe es unter die aktive Tabelle hineinkopiert.
wie kann ich es ohne Makro lösen. Ich meine dass es im Hintergrund automatisch läuft?
Vielen Dank
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 09:32:00
andi
Hallo
Es sollte im Hintergrund immer laufen
Die "0" und "1" kommen durch einen Sverweis von einem anderen Sheet.
Sie umfasst 350 Zeilen.
Danke
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 09:22:37
Michael
kannst mit einer do loop schleifen lösen
Sub test()
Dim i, spalte As Integer
i = 1: spalte = 1
Do
If Cells(i, spalte) = 1 Then
Application.StatusBar = "Zeile " & i
Rows(i).RowHeight = 0 'Zeilenhöhe auf 0 (also Ausblenden)
Else
If Cells(i, spalte) = 0 Then
Rows(i).RowHeight = 12.75
End If
End If
i = i + 1
Loop Until Cells(i, spalte) = ""
End Sub

Anzeige
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 10:06:22
andi
Hallo
Wie funktioniert das mit dem Loop?
Habe es unter die aktive Tabelle hineinkopiert.
wie kann ich es ohne Makro lösen. Ich meine dass es im Hintergrund automatisch läuft?
Vielen Dank
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 10:39:29
Michael
Wie jetzt unter die aktive Tabelle?
Im VBA (Tabelle1), dann im linken Auswahlmenue "Workseet" auswählen und im rechten Meue "Change"
da dort den Code zwischen kopieren. Jetzt läuft das Makro JEDESMAL wenn eine Änderung gemacht wird.
Das geht natürlich auf die Geschwindigkeit
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 10:49:22
andi
Danke für deine Hilfe
Habe das jetzt so eingegeben:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i, spalte As Integer
i = 1: spalte = 1
Do
If Cells(i, spalte) = 0 Then
Application.StatusBar = "Zeile " & i
Rows(i).RowHeight = 0 'Zeilenhöhe auf 0 (also Ausblenden)
Else
If Cells(i, spalte) = 1 Then
Rows(i).RowHeight = 12.75
End If
End If
i = i + 1
Loop Until Cells(i, spalte) = ""
End Sub
Ich glaube ich mach was falsch.
Ist es möglich, einfach alle Zeilen zwischen 1 und 350 auszublenden, außer die Zeilen wo in der Spalte 1 eine "1" steht nicht ?
Danke für deine Mühe
Anzeige
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 10:46:24
hary
Hallo Andi
Code gehoert in den Code der Tabelle worauf Sverweis greift.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Application.ScreenUpdating = False
With Worksheets("Tabelle1") 'hier stehen die Einsen
.Cells.EntireRow.Hidden = False
For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(i, 1).Value = 1 Then .Cells(i, 1).EntireRow.Hidden = True
Next i
End With
Application.ScreenUpdating = True
End Sub

gruss hary
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 11:07:49
andi
Hallo
Funktioniert bei mir nicht. Keine Ahnung was ich falsch mache.
Habe meine Datei hier gepostet.
https://www.herber.de/bbs/user/67847.xlsm
In der Tabelle Ausgabe sollten die Zeilen ausgeblendet werden.
Vielen Dank im Voraus
Anzeige
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 11:59:46
welga
Kannst du es mal als Excel 03 hochladen?
Habe hier leider kein 2007.
Danke
AW: bitte schön
09.02.2010 13:33:26
andi
Danke WELGA
Super
AW: bitte schön
09.02.2010 13:50:45
hary
Hallo Andi
einen hab ich noch. Wird ein/ausgeblendet, wenn Du in Tabelle Eingabe in SpalteA Eintrag aenderst.
https://www.herber.de/bbs/user/67856.xls
gruss hary
AW: bitte schön
09.02.2010 14:16:26
andi
Hallo Hary
Bekomme diesen Fehler beim wechseln des in Eintrags in Spalte A
Kannst du mir helfen?
Userbild
Vielen Dank
Anzeige
AW: vergiss erstmal....
09.02.2010 17:52:40
hary
Hallo Andi
....meinen Code. Hast ja 2007. kann ich im Moment nicht pruefen.
gruss hary
AW: Zeile 1 ausblenden wenn A1 nicht 1
09.02.2010 10:48:47
welga
Hallo,
schreibe in den Code vom Tabellenblatt:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(UsedRange, Target) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
If Cells(Target.Row, 1).Value = 1 Then
Rows(Target.Row).Select
Selection.EntireRow.Hidden = True
End If
If Cells(Target.Row, 1).Value = 0 Then
Rows(Target.Row).Select
Selection.EntireRow.Hidden = False
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
End Sub
Gruß
welga
Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige