Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1184to1188
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
Zeile bei Wert 0 Ausblenden
Heinz
Guten morgen,im Forum
Habe unteren Code in UserForm.
Der mir Werte von Textboxen in Sheets "Personalbesetzung" einträgt.
In Sheets"Personaldruck" habe ich Formeln,zB. in D9
=Personalbesetzung!E9
Nun möchte ich
If Worksheets("Personaldruck").Range("D9").Value = 0 Then
Rows(9).Hidden = True
End If
Nur wird mir die Zeile in "Personalbesetzung" ausgeblendet.Nicht in "Personaldruck"
Also im falschen Sheets.
Wo liegt bitte der Fehler ?
Gruß
Heinz
Private Sub CommandButton1_Click()
Dim ZeileReserve As Long, iIndex As Long
Application.ScreenUpdating = False
Me.Hide
With Sheets("Personalbesetzung")
.Unprotect Password:="vetro"
ZeileReserve = 20 'Zeilenzähler für Reserve-Personal
.Range("Q5") = ComboBox1 'Datum
.Range("U5") = ComboBox2 'Schicht
.Range("F7") = ComboBox21 'Schichtmeister
.Range("F32") = TextBox15 'Schrumpfer
.Range("E27") = TextBox17 'QS
.Range("K5") = TextBox3 'Vorarbeiter
'Ausfüllbereiche leeren
.Range("E10:G19").ClearContents
.Range("C21:C25").ClearContents
.Range("E28:G28").ClearContents
.Range("F33:G33").ClearContents
'Sortierer 1 bis 10
For iIndex = 1 To 10
If fncPersonal(sName:=Me.Controls("TextBox" & 3 + iIndex).Value, _
sTaetigkeit:=Me.Controls("ComboBox" & 4 + iIndex).Value, _
lZeile:=ZeileReserve) = True Then Me.Show: Exit Sub
Next
'Anlerner 1
Call fncPersonal(sName:=TextBox18, sTaetigkeit:=ComboBox15, lZeile:=ZeileReserve)
'Anlerner 2
Call fncPersonal(sName:=TextBox19, sTaetigkeit:=ComboBox16, lZeile:=ZeileReserve)
'Ferialarbeiter 1 bis 3
For iIndex = 1 To 3
If fncPersonal(sName:=Me.Controls("TextBox" & 19 + iIndex).Value, _
sTaetigkeit:=Me.Controls("ComboBox" & 16 + iIndex).Value, _
lZeile:=ZeileReserve) = True Then Me.Show: Exit Sub
Next
Unload Me
.Range("A1").Copy
.Range("A1").PasteSpecial xlPasteFormats
Sheets("Personalbesetzung").Select
Application.CutCopyMode = False
End With
'Zeilen ausblenden wenn 0
'L:311+P:
If Worksheets("Personaldruck").Range("D9").Value = 0 Then
Rows(9).Hidden = True
End If
With Sheets("Personalbesetzung")
.Protect Password:="vetro"
Worksheets("Personaldruck").PrintOut Copies:=1, Collate:=True
Worksheets("Personaldruck").Rows.Hidden = False
Application.ScreenUpdating = True
End With
End Sub

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

Betreff
Benutzer
Anzeige
AW: Zeile bei Wert 0 Ausblenden
27.10.2010 10:23:11
Björn
Hallo,
wenn Du
Rows(9).Hidden = True

schreibst, wird das immer auf dem AKTIVEN Blatt gemacht.
Wenn Du ein anderes möchtest, musst du es dazuschreiben, wie bei der geprüften Zelle auch.
Woher soll Excel / VBA denn wissen, auf welchem Blatt es das machen soll?
Also:
If Worksheets("Personaldruck").Range("D9").Value = 0 Then
Worksheets("Personaldruck").Rows(9).Hidden = True
End If
Gruß
Björn B.
AW: Zeile bei Wert 0 Ausblenden
27.10.2010 10:31:09
Heinz
Hallo Björn
Recht herzlichen Dank.
So funktioniert es wie gewollt.
Dachte wenn ich einmal Worksheets("Personaldruck") anspreche,genügt es.
Danke & Gruß
Heinz
Anzeige
AW: Zeile bei Wert 0 Ausblenden
27.10.2010 10:24:20
Luschi
Hallo Heinz,
schreibe es so:

With Worksheets("Personaldruck")
If .Range("D9").Value = 0 Then
.Rows(9).EntireRow.Hidden = True
End If
End With
Wichtig sind die Punkte vor Range und Rows. Damit beziehen sich beide Bereich auf die angegebene Tabelle.
In Deinem Beispiel bezieht sich Rows(9) auf die aktive Tabelle, also die, die momentan im Windows-Fenster zu sehen ist.
Gruß von Luschi
aus klein-Paris
wenn schon mit WITH, dann bitte so:
27.10.2010 10:28:01
Björn
Hallo,
also wenn man wegen 2 Zeilen schon mit With arbeiten möchte, dann auch bitte alles mit rein nehmen und nicht nur die Hälfte.

With Worksheets("Personaldruck").Range("D9")
If .Value = 0 Then
.EntireRow.Hidden = True
End If
End With
Gruß
Björn B.
Anzeige
AW: Zeile bei Wert 0 Ausblenden
27.10.2010 10:25:33
Josef
Hallo Heinz,
bin jetzt nicht unbedingt der VBA-Experte, aber bei folgendem Satz:
...

Sheets("Personalbesetzung").Select
Application.CutCopyMode = False
End With
'Zeilen ausblenden wenn 0
'L:311+P:

...
und anschließender Prozedur befindest du dich im Sheet "Personalbesetzung" und nicht in "Personaldruck".
Gruß
Josef
AW: DANKE an alle Helfer in diesen Forum
27.10.2010 10:35:55
Heinz
Ich bedanke mich bei allen Helfern
Bin echt immer wieder überwältigt von diesen Forum,wie viele Leute da einen Helfen.
Recht herzlichen Dank
Gruß
Heinz

125 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige