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

potto

potto
25.07.2018 12:53:06
Ralf
Hallo Forum,
ich habe das Archiv bereits durchsucht, bin aber trotzdem nicht zu einer funktionierenden Lösung gekommen.
Folgende Problemstellung:
In dem Tabellenblatt "Sprachauswahl" kann in der Zelle F2 der Wert 1, 2 oder 3 als Ergebnis erscheinen (Optionsfeld).
Dadurch sollen in dem Tabellenblatt "Ergebnis" folgende Zeilen ausgeblendet werden:
Bei "1" in der Zelle F2 im Tabellenblatt "Spracheingabe" sollen im Tabellenblatt "Ergebnis" die Zeilen 4 bis 7, 27 und 28 ausgeblendet werden.
Bei "2" in der Zelle F2 im Tabellenblatt "Spracheingabe" sollen im Tabellenblatt "Ergebnis" die Zeilen 2, 3, 6, 7, 26 und 28 ausgeblendet werden.
Bei "3" in der Zelle F2 im Tabellenblatt "Spracheingabe" sollen im Tabellenblatt "Ergebnis" die Zeilen 2 bis 5, 26 und 27 ausgeblendet werden.
Ich habe von VBA leider keinen Plan.
Kann mich da jemand bitte unterstützen?
Vielen Dank im Voraus für eine Rückmeldung.
Viele Grüße
Ralf

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: potto
25.07.2018 13:40:35
Torsten
Hallo Ralf,
versuch mal:
Sub Ausblenden()
Dim cel As Range
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Sheets("Ergebnis")
Set ws2 = Sheets("Spracheingabe")
Set cel = ws2.Range("F2")
If cel.Value = "" Then Exit Sub
Else
If cel.Value = 1 Then
ws1.Rows(4, 5, 6, 7, 27, 28).Hidden = True
Else
If cel.Value = 2 Then
ws1.Rows(2, 3, 6, 7, 26, 28).Hidden = True
Else
If cel.Value = 3 Then
ws1.Rows(2, 3, 4, 5, 26, 27).Hidden = True
End If
End If
End If
End If
End Sub

AW: potto
25.07.2018 14:06:23
Ralf
Hallo Torsten,
ich habe es in ein Modul reinkopiert.
Funktioniert leider nicht.
Userbild
Viele Grüße
Ralf
Anzeige
AW: potto
25.07.2018 14:21:20
Torsten
Hi Ralf,
sorry.
Das passiert halt, wenn mans nicht selbst probiert ;-)
Das mit den mehreren Zeilen in einem funktioniert auch nicht.
Hier nochmal:
Sub Ausblenden()
Dim cel As Range
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Sheets("Ergebnis")
Set ws2 = Sheets("Spracheingabe")
Set cel = ws2.Range("F2")
If cel.Value = 1 Then
ws1.Rows(4).EntireRow.Hidden = True
ws1.Rows(5).EntireRow.Hidden = True
ws1.Rows(6).EntireRow.Hidden = True
ws1.Rows(7).EntireRow.Hidden = True
ws1.Rows(27).EntireRow.Hidden = True
ws1.Rows(28).EntireRow.Hidden = True
Else
If cel.Value = 2 Then
ws1.Rows(3).EntireRow.Hidden = True
ws1.Rows(6).EntireRow.Hidden = True
ws1.Rows(7).EntireRow.Hidden = True
ws1.Rows(26).EntireRow.Hidden = True
ws1.Rows(28).EntireRow.Hidden = True
Else
If cel.Value = 3 Then
ws1.Rows(2).Hidden = True
ws1.Rows(3).EntireRow.Hidden = True
ws1.Rows(4).EntireRow.Hidden = True
ws1.Rows(5).EntireRow.Hidden = True
ws1.Rows(26).EntireRow.Hidden = True
ws1.Rows(27).EntireRow.Hidden = True
Else
If cel.Value = "" Then Exit Sub
End If
End If
End If
End Sub

Anzeige
AW: potto
25.07.2018 14:28:34
Ralf
Hallo Torsten,
nee, geht weiterhin nicht.
Userbild
Ich habe Deinen Code in ein Modul kopiert.
Viele Grüße
Ralf
AW: potto
25.07.2018 14:29:48
ChrisL
Hi
Der Fehler kommt, weil das Blatt "Ergebnis" nicht existiert.
Hier noch eine Alternative:
Sub Ausblenden()
Dim cel As Range
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Sheets("Ergebnis")
Set ws2 = Sheets("Spracheingabe")
Set cel = ws2.Range("F2")
If cel.Value = 1 Then
ws1.Range("A4,A5,A6,A7,A27,A28").EntireRow.Hidden = True
ElseIf cel.Value = 2 Then
ws1.Range("A2,A3,A6,A7,A26,A28").EntireRow.Hidden = True
ElseIf cel.Value = 3 Then
ws1.Range("A2,A3,A4,A5,A26,A27").EntireRow.Hidden = True
Else
Exit Sub
End If
End Sub
cu
Chris
Anzeige
AW: potto
25.07.2018 14:30:49
Torsten
bei mir hats funktioniert. Check mal die Schreibweise des Tabellennamens
Oder lad mal die Datei hoch. Ist einfacher daran zu basteln.
AW: potto
25.07.2018 14:43:55
Ralf
Hallo ChrisL,
Hallo Torsten,
das war jetzt mein Fehler. Jetzt funktiert es.
Ich habe den Code jetzt im Modul stehen.
Wo muss der Code hin, damit dieser so quasi als Zellüberwachung für die Zelle F2 des Blatts Spracheingabe funktioniert? Müssen dann noch Anpassungen gemacht werden?
Viele Grüße
Ralf
AW: potto
25.07.2018 14:07:21
Nepumuk
Hallo Torsten,
da ist ein Else zu viel drin.
Gruß
Nepumuk
AW: potto
25.07.2018 14:09:18
Ralf
Hallo Nepumuk,
welches muss raus?
Viele Grüße
Ralf
Anzeige
AW: potto
25.07.2018 14:21:21
Nepumuk
Hallo Ralf,
teste mal:
Option Explicit

Public Sub Ausblenden()
    With Worksheets("Ergebnis")
        Select Case Worksheets("Spracheingabe").Range("F2").Value
            Case 1
                ws1.Rows(4, 5, 6, 7, 27, 28).Hidden = True
            Case 2
                ws1.Rows(2, 3, 6, 7, 26, 28).Hidden = True
            Case 3
                ws1.Rows(2, 3, 4, 5, 26, 27).Hidden = True
        End Select
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: potto
25.07.2018 14:26:33
Nepumuk
Hallo Ralf,
ich hab's auch nicht getestet, vergiss meinen Code der funktioniert nicht.
Gruß
Nepumuk
AW: potto
25.07.2018 14:29:50
Ralf
Hallo Nepumuk,
stimmt, ich wollte es gerade schreiben. Der Code geht nicht.
Viele Grüße
Ralf
AW: potto
25.07.2018 14:50:35
Nepumuk
Hallo Ralf,
jetzt getestet:
Option Explicit

Public Sub Ausblenden()
    With Worksheets("Ergebnis")
        Select Case Worksheets("Spracheingabe").Range("F2").Value
            Case 1
                .Range("A4,A5,A6,A7,A27,A28").EntireRow.Hidden = True
            Case 2
                .Range("A2,A3,A6,A7,A26,A28").EntireRow.Hidden = True
            Case 3
                .Range("A2,A3,A4,A5,A26,A27").EntireRow.Hidden = True
        End Select
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: potto
25.07.2018 14:54:00
Nepumuk
Hallo Ralf,
habe deine letzte Anfrage zu spät gelesen.
Folgender Code in das Modul der Tabelle Spracheingabe:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F$2" Then
        With Worksheets("Ergebnis")
            Select Case Range("F2").Value
                Case 1
                    .Range("A4,A5,A6,A7,A27,A28").EntireRow.Hidden = True
                Case 2
                    .Range("A2,A3,A6,A7,A26,A28").EntireRow.Hidden = True
                Case 3
                    .Range("A2,A3,A4,A5,A26,A27").EntireRow.Hidden = True
            End Select
        End With
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: potto
25.07.2018 15:03:54
Ralf
Hallo Nepumuk,
ich habe den Code noch etwas verändert. Jetzt funktioniert er wieder nicht.
Es muss natürlich die Bedingug noch erweitert werden, damit die Sprachauswahl auch funktioniert.
Wenn die Sprachauswahl geändert wird, müssen 6 Zeilen ausgeblendet werden und 3 Zeilen eingeblendet werden.
Ich habe es mal probiert:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$2" Then
With Worksheets("Ergebnis")
Select Case Range("F2").Value
Case 1
.Range("A4,A5,A6,A7,A27,A28").EntireRow.Hidden = True
.Range("A2,A3,A26").EntireRow.Hidden = False
Case 2
.Range("A2,A3,A6,A7,A26,A28").EntireRow.Hidden = True
.Range("A4,A5,A27").EntireRow.Hidden = False
Case 3
.Range("A2,A3,A4,A5,A26,A27").EntireRow.Hidden = True
.Range("A6,A7,A28").EntireRow.Hidden = False
End Select
End With
End If
End Sub
Wo ist der Fehler?
Viele Grüße
Ralf
Anzeige
AW: potto
25.07.2018 15:10:00
Nepumuk
Hallo Ralf,
in meiner Testmappe macht der Code das was er soll. Ich kann keinen Fehler feststellen.
Gruß
Nepumuk
AW: potto
25.07.2018 15:31:09
Ralf
Hallo Nepumuk,
ich habe das jetzt analysiert.
Folgendes Problem:
Trage ich in dem Tabellenblatt "Spracheingabe" die Zahl 1, 2 oder 3 in die Zelle F2 von Hand ein, wird in dem Ergebnisblatt alles richtig ausgeführt. Die Zeilen werden richtig ein- bzw. ausgeblendet.
Jetzt wird die Zahl aber über ein Optionsfeld in die Zelle F2 geschrieben. Das macht scheinbar einen Unterschied, der mir nicht bewußt war.
Kannst Du bitte nochmal unterstützen?
Viele Grüße
Ralf
Anzeige
AW: potto
25.07.2018 15:36:53
Nepumuk
Hallo Ralf,
kannst du bitte eine Mustermappe mit dem Optionsfeld hochladen? Daten müssen keine in der Mappe sein.
Gruß
Nepumuk
AW: potto-nachdenken-ev.Text statt Zahl?
25.07.2018 15:38:04
robert
AW: potto
25.07.2018 15:54:49
Nepumuk
Hallo Ralf,
kopiere folgenden Code in ein Standardmodul und weise den OptionButtons das Makro zu (Rechtsklick auf die OptionButtons - Makro zuweisen). Alle drei das selbe Makro !!!
Option Explicit

Public Sub Ausblenden()
    With Worksheets("Ergebnis")
        Select Case Worksheets("Sprachauswahl").Range("F2").Value
            Case 1
                .Range("A4,A5,A6,A7,A27,A28").EntireRow.Hidden = True
                .Range("A2,A3,A26").EntireRow.Hidden = False
            Case 2
                .Range("A2,A3,A6,A7,A26,A28").EntireRow.Hidden = True
                .Range("A4,A5,A27").EntireRow.Hidden = False
            Case 3
                .Range("A2,A3,A4,A5,A26,A27").EntireRow.Hidden = True
                .Range("A6,A7,A28").EntireRow.Hidden = False
        End Select
    End With
End Sub

Gruß
Nepumuk
AW: potto
25.07.2018 15:59:33
Ralf
Hallo Nepumuk,
ein Wahnsinn.
Jetzt passt es wie gewünscht.
Vielen Dank für Deine Unterstützung und Deine Geduld.
Viele Grüße
Ralf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige