Kennt Jemand eine Möglichkeit wie ich einen Wert einer Zelle durch einfaches Anklicken von dieser den Wert in eine weitere Zelle übertragen kann ?
Danke für eure Hilfe !
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Set rng = Range("B1:B100")
If Not Intersect(Target, rng) Is Nothing Then
Target.Offset(0, 1).Value = Target.Value
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Set rng = Range("C12:C16")
If Not Intersect(Target, rng) Is Nothing Then
Range("J16").Value = Target.Value
End If
Set rng = Range("C21:C24")
If Not Intersect(Target, rng) Is Nothing Then
Range("J24").Value = Target.Value
End If
End Sub
Um den Wert aus einer Zelle in eine andere Zelle zu übernehmen, kannst du entweder eine einfache Formel oder VBA verwenden. Hier ist, wie du beides machst:
Mit einer Formel:
=A1
Mit VBA:
Wenn du den Wert durch Klicken auf die Zelle übernehmen möchtest, kannst du das folgende VBA-Skript verwenden:
Öffne den VBA-Editor mit ALT + F11
.
Suche das spezifische Blatt, wo du die Funktion haben möchtest.
Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Set rng = Range("B1:B100") ' Bereich anpassen
If Not Intersect(Target, rng) Is Nothing Then
Range("J16").Value = Target.Value ' Wert in J16 übernehmen
End If
End Sub
Schließe den VBA-Editor und teste die Funktion.
Fehler: Wert wird nicht übernommen.
Fehler: VBA funktioniert nicht.
Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros
.Wenn du nur bestimmte Werte aus einer Zelle übernehmen möchtest, kannst du die WENN
-Funktion verwenden:
=WENN(A1="Bedingung", A1, "")
Diese Formel übernimmt den Wert aus Zelle A1 nur, wenn die Bedingung erfüllt ist.
Eine weitere Möglichkeit ist die Verwendung von TEXT
-Funktionen, um den Inhalt aus einer anderen Zelle zu übernehmen und dabei den Text zu formatieren:
=TEXT(A1, "MM/DD/YYYY") ' Beispiel für Datumsformat
Angenommen, du möchtest aus dem Bereich C12:C16 den Wert in J16 übernehmen, wenn eine Zelle ausgewählt wird. Hier ist der VBA-Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Set rng = Range("C12:C16")
If Not Intersect(Target, rng) Is Nothing Then
Range("J16").Value = Target.Value
End If
End Sub
Für einen weiteren Bereich C21:C24 und Ziel J24, füge einfach die entsprechenden If
-Bedingungen hinzu, wie im vorherigen Abschnitt beschrieben.
Verwende Offset
, um dynamische Zielzellen zu definieren. Dies kann besonders nützlich sein, wenn du Werte aus benachbarten Zellen übernehmen möchtest.
Experimentiere mit der INDIREKT
-Funktion, um flexiblere Verweise auf Zellen zu erstellen.
Denke daran, den Code gut zu kommentieren, damit du später die Logik leicht nachvollziehen kannst.
1. Wie kann ich mehrere Werte gleichzeitig übernehmen?
Du kannst mehrere If
-Bedingungen im VBA-Code verwenden, um verschiedene Bereiche zu definieren, wie im Beispiel gezeigt.
2. Funktioniert das auch in Excel Online? VBA ist in Excel Online nicht verfügbar. Du musst die Formeln verwenden, um Werte zu übernehmen.
3. Kann ich auch Text aus einer Zelle in eine andere Zelle übernehmen? Ja, du kannst die gleichen Methoden verwenden, um Text zu übernehmen, egal ob mit Formeln oder VBA.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen