Ein/Ausblenden von Text VBA

Bild

Betrifft: Ein/Ausblenden von Text VBA
von: A
Geschrieben am: 30.10.2015 11:54:56

Moin an alle,
ich bin dabei in Excel eine Liste zu erstellen, die in Abhängigkeit von einem Dropdownfeld im Bereich D4 bis R4 den Buchstaben "O" ausgeben soll. Und zwar soll folgendes passieren:
Wenn im Feld B4 des Tabellenblattes "Auswahl" der Text "Entwicklungsstation" steht der aus dem Tabellenblatt "Bibliothek" übernommen wurde, dann soll im Bereich D4 bis R4 der Buchstabe "O" angezeigt werden. Wenn nichts drin steht dann soll natürlich im Bereich D4 bis R4 der nichts angezeigt werden.
Jetzt möchte ich das Programm erweitern und zwar:
Wenn in B4 der Tabelle "Auswahl" eine weitere Möglichkeit zur Auswahl mittels Dropdownfeld besteht (z.B: statt "Entwicklungsstation" -----> "Server") dann soll Der Bereich D5 bis R5 aus dem Blatt "Bibliothek" in dem Bereich D4 bis R4 des Blattes "Auswahl" eingefügt werden.
Meine Idee war nun den bereits zur Verfügung gestellten VBA Code wie folgt abzuändern. Aber das geht nicht Warum?
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
 
On Error GoTo Sub_Exit
 
If Target.Address = "$B$4" Then
  Application.EnableEvents = False
  With Worksheets("Bibliothek")
        If Cells(4, 2).Value = .Cells(4, 2) Then
          Range("D4:R4").Value = .Range("D4:R4").Value
        Else
          Range("D4:R4").ClearContents
        End If
  End With
 
Sub_Exit:
  Application.EnableEvents = True
 
End If
 
 
If Target.Address = "$B$4" Then
  Application.EnableEvents = False
  With Worksheets("Bibliothek")
        If Cells(4, 2).Value = .Cells(5, 2) Then
          Range("D4:R4").Value = .Range("D5:R5").Value
        Else
          Range("D4:R4").ClearContents
        End If
  End With
 
 
End If
 
 
 
 
End Sub

Bild

Betrifft: AW: Ein/Ausblenden von Text VBA
von: Jürgen
Geschrieben am: 30.10.2015 13:50:20
Hallo,
Wenn in deiner Bibliothek die Werte der Dropdownliste in der Spalte a entsprechend stehen, sollte dies funktionieren.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngQuellreihe As Long, lngCol As Long, lngMaxcol As Long
If Target.Address = "$B$4" Then
    
With Worksheets("Bibliothek")
    lngMaxcol = .UsedRange.Columns.Count
    lngQuellreihe = .Columns(1).Find(what:=Target.Value).Row
    For lngCol = 4 To lngMaxcol
        If .Cells(lngQuellreihe, lngCol).Value = "" Then
            Exit For
        End If
        
        Cells(4, lngCol).Value = .Cells(lngQuellreihe, lngCol).Value
            
    Next lngCol
End With
End If
End Sub

Durch eine Sverweis wäre dies ggf. auch als Frml realisierbar.
Gruß
Jürgen

Bild

Betrifft: AW: Ein/Ausblenden von Text VBA
von: Jürgen
Geschrieben am: 30.10.2015 13:52:59
sry ich vergess immer wieder das Häkchen.

Bild

Betrifft: AW: Ein/Ausblenden von Text VBA
von: A
Geschrieben am: 30.10.2015 14:38:43
Danke das hat geklappt. :)

Bild

Betrifft: AW: Ein/Ausblenden von Text VBA
von: Jürgen
Geschrieben am: 30.10.2015 13:54:38
sry ich vergesse immer den Haken.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Ein/Ausblenden von Text VBA"