Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Wert suchen, kopieren und in Zelle schreiben

VBA Wert suchen, kopieren und in Zelle schreiben
04.06.2019 14:05:08
Romy
Hallo
ich benötige Hilfe bei meinem VBA Code. Bisher sieht der so aus:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target = Range("E4") Then
Columns("A:C").Select
Selection.EntireColumn.Hidden = False
Range("E6, E8").ClearContents
Range("Tabelle1").Autofilter Field:=1, Criteria1:=Range("E4").Value
Columns("A:C").Select
Selection.EntireColumn.Hidden = True
End If
End Sub

Als weiteren Schritt möchte ich, dass VBA den Wert in Spalte B (Startdatum) und Spalte C (Enddatum), basierend auf der Auswahl E4, in die Zellen E6 und E8 schreibt.
Bsp.:
Ich wähle in der Zelle E4 Schlüssel aus
-> Spalten A:C werden eingeblendet
-> Zellinhalte E6 und E8 werden gelöscht
-> Spalte A, Tabelle 1 wird gefiltert nach dem Wert "Schlüssel"
-> Beim ersten gefundenen Wert wird der Wert daneben aus Spalte B, Tabelle1 genommen und in Zelle E6 geschrieben und der Wert aus Spalte C, Tabelle1 wird in Zelle E8 geschrieben
-> Spalten A:C werden ausgeblendet
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Zusatz
04.06.2019 14:43:08
Romy
Wenn ich den Wert in Zelle E4 lösche, bekomme ich einen Fehler angezeigt, wie kann ich das umgehen?
AW: Zusatz
04.06.2019 20:07:08
Werner
Hallo,
das wäre doch eine ganz normale SVERWEIS-Formel. Dazu brauchst du dann noch nicht einmal deine Tabelle zu filtern. Wenn es unbedingt ein Makro sein soll, dann ginge das damit natürlich auch.
Lade doch mal deine Datei hier hoch.
Gruß Werner
Anzeige
AW: Beispiel-Datei
05.06.2019 13:34:17
Werner
Hallo Romy,
z.B. so:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim raFund As Range
If Target.Address(0, 0) = "E4" Then
Application.ScreenUpdating = False
If Target  "" Then
Columns("A:C").EntireColumn.Hidden = False
Range("E6, E8").ClearContents
Range("Tabelle1").AutoFilter Field:=1, Criteria1:=Range("E4")
Set raFund = Columns(1).Find(what:=Range("E4"), LookIn:=xlValues, lookat:=xlWhole)
If Not raFund Is Nothing Then
Range("E6") = raFund.Offset(, 1)
Range("F6") = raFund.Offset(, 2)
End If
Columns("A:C").EntireColumn.Hidden = True
End If
End If
Set raFund = Nothing
End Sub
Gruß Werner
Anzeige
VBA Wert suchen, kopieren und in Zelle schreiben
06.06.2019 13:26:05
Romy
Danke Werner, Code funktioniert sehr gut.
LG Romy
Gerne u. Danke für die Rückmeldung. o.w.T.
06.06.2019 13:29:32
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige