27.02.2020, 11:42
Hallo Forengemeinde, :19:
ich habe eine Exceltabelle mit nachstehemdem Code, den ich nicht selber erstellt habe.
Die Exceltabelle besteht aus insgesamt 3 Arbeitsblättern.
Nun möchte ich gerne, dass der Inhalt einer Zelle auf dem ersten Arbeitsblatt mit dem Namen "Auswahl Kunde" in eine Zelle im Sheet "Zertifikat" 1:1 kopiert wird.
Die Zelle um die es geht ist Teil einer Tabelle also eine Dropdownauswahl. Titel der Tabelle "Kunde / Lieferant".
Im unten stehenden Code wurde dasselbe schon mit "Produkt" gemacht aber
ich dachte mir ich muss einfach ein Dim rngKunde/LieferantTab as Range und die Zeile Set rngKundeTab =Sheets("Zertifikat").Range("B2").Value = Target.Value eingeben, das geht so aber leider nicht.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, j As Long
Dim rngEingabeBereich As Range
Dim rngAusblendBereich As Range
Dim rngProduktTab As Range
Set rngEingabeBereich = Range("B6:B6")
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("A6:A6")) Is Nothing Then
Application.EnableEvents = False
Target.Offset(0, 1) = ""
Application.EnableEvents = True
End If
If Not Application.Intersect(Target, rngEingabeBereich) Is Nothing Then
einblenden
Set rngAusblendBereich = Sheets("Zertifikat").Range("B6:AY6")
Set rngProduktTab = Sheets("Produkte").ListObjects(Target.Value).DataBodyRange
Sheets("Zertifikat").Range("B3").Value = Target.Value
If Application.CountA(rngEingabeBereich) Then
For i = 1 To rngAusblendBereich.Columns.Count
If Application.CountIf(rngProduktTab, rngAusblendBereich.Cells(1, i)) = 0 Then rngAusblendBereich.Columns(i).Hidden = True
Next i
End If
End If
End Sub
Sub einblenden()
Sheets("Zertifikat").Columns("B:AY").Hidden = False
End Sub
ich habe eine Exceltabelle mit nachstehemdem Code, den ich nicht selber erstellt habe.
Die Exceltabelle besteht aus insgesamt 3 Arbeitsblättern.
Nun möchte ich gerne, dass der Inhalt einer Zelle auf dem ersten Arbeitsblatt mit dem Namen "Auswahl Kunde" in eine Zelle im Sheet "Zertifikat" 1:1 kopiert wird.
Die Zelle um die es geht ist Teil einer Tabelle also eine Dropdownauswahl. Titel der Tabelle "Kunde / Lieferant".
Im unten stehenden Code wurde dasselbe schon mit "Produkt" gemacht aber
ich dachte mir ich muss einfach ein Dim rngKunde/LieferantTab as Range und die Zeile Set rngKundeTab =Sheets("Zertifikat").Range("B2").Value = Target.Value eingeben, das geht so aber leider nicht.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, j As Long
Dim rngEingabeBereich As Range
Dim rngAusblendBereich As Range
Dim rngProduktTab As Range
Set rngEingabeBereich = Range("B6:B6")
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("A6:A6")) Is Nothing Then
Application.EnableEvents = False
Target.Offset(0, 1) = ""
Application.EnableEvents = True
End If
If Not Application.Intersect(Target, rngEingabeBereich) Is Nothing Then
einblenden
Set rngAusblendBereich = Sheets("Zertifikat").Range("B6:AY6")
Set rngProduktTab = Sheets("Produkte").ListObjects(Target.Value).DataBodyRange
Sheets("Zertifikat").Range("B3").Value = Target.Value
If Application.CountA(rngEingabeBereich) Then
For i = 1 To rngAusblendBereich.Columns.Count
If Application.CountIf(rngProduktTab, rngAusblendBereich.Cells(1, i)) = 0 Then rngAusblendBereich.Columns(i).Hidden = True
Next i
End If
End If
End Sub
Sub einblenden()
Sheets("Zertifikat").Columns("B:AY").Hidden = False
End Sub