Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wert aus Zelle in andere Zelle übernehmen

Forumthread: Wert aus Zelle in andere Zelle übernehmen

Wert aus Zelle in andere Zelle übernehmen
26.11.2003 10:14:23
Volker
Hi ll ! ;-)

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 !
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA + Worksheet_SelectionChange
26.11.2003 10:24:12
Galenzo
Hallo,
ohne VBA geht das nicht.
Du mußt dazu eine Prozedur in das WorkSheet_SelectionChange-Ereignis schreiben.
Dieses Ereignis wird ausgelöst, wenn eine Zelle ausgewählt wird.
Zur Prozedur
Zunächst sollte geprüft werden, ob eine Zelle in dem gewünschten Bereich geklickt wurde - ich nehme hier mal "B1:B100" an, das kannst du dann entsprechend anpassen.
Wenn also eine Zelle in diesem Bereich gewählt/geklickt wurde, dann erhält die rechts daneben liegende Zelle den Wert (ensprechend der Parameter von Offset).


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

Viel Erfolg!
Anzeige
AW: VBA + Worksheet_SelectionChange
26.11.2003 11:00:53
Volker
Hallo Galenzo,

ein Anfang ist gemacht, danke :-)

Nun das nächste Problem: Wie definiere eine exacte Zelle in die der Wert übergeben wird ? Derzeit ist ja nur die Spalte um eine weitere verschoben. Nun aber soll der Wert genau an J16 herausgegeben werden ? Hast du da auch eine Lösung ? Danke im Vorraus...
Anzeige
AW: Zielzelle
26.11.2003 11:11:38
Galenzo
Na klar,
ersetze
Target.Offset(0, 1).Value
durch
range("J16").Value

mfg
AW: Zielzelle
26.11.2003 11:59:38
Volker
Hallo Galenzo,

danke für deinen "Grundkurs" in VBA.... ;-)
Ich werde mich doch etwas intensiver damit beschäftigen, denn scheinbar ist damit doch vieles möglich....smile
Eine letzte Frage habe ich noch, dann hast du mich restlos glücklich gemacht ;-)
In dem ersten Teil dieser Aufgabe habe ich den Bereich C12 bis C16, und als Ziel J16 gewählt, das funktioniert auch prima.
Wie realisiere ich nun wenn diese Funktion für einen zweiten Bereich (C21:C24) und dem Ziel (J24) funktionieren soll ? Einfaches "Copy&Paste" kann es ja wohl nicht sein, denn das funktioniert nicht...smile.
Anzeige
AW: Prozedur für mehrere Bereiche
26.11.2003 12:18:25
Galenzo
Klar - Copy & Paste!
Und natürlich noch die Werte anpassen. Dann kömmt sowas bei raus:


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

Dann weiterhin noch viel Spaß mit VBA!
Anzeige
;

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

Infobox / Tutorial

Wert aus Zelle in andere Zelle übernehmen


Schritt-für-Schritt-Anleitung

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:

  1. Wähle die Zielzelle aus, in der der Wert erscheinen soll.
  2. Gib die Formel ein, um den Wert zu übernehmen. Zum Beispiel, wenn du den Wert aus Zelle A1 in Zelle B1 übernehmen möchtest:
    =A1
  3. Drücke die Eingabetaste.

Mit VBA:

Wenn du den Wert durch Klicken auf die Zelle übernehmen möchtest, kannst du das folgende VBA-Skript verwenden:

  1. Öffne den VBA-Editor mit ALT + F11.

  2. Suche das spezifische Blatt, wo du die Funktion haben möchtest.

  3. 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
  4. Schließe den VBA-Editor und teste die Funktion.


Häufige Fehler und Lösungen

  • Fehler: Wert wird nicht übernommen.

    • Lösung: Überprüfe, ob der Zielbereich korrekt definiert ist und dass der Code im richtigen Arbeitsblatt eingefügt wurde.
  • Fehler: VBA funktioniert nicht.

    • Lösung: Stelle sicher, dass Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros.

Alternative Methoden

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

Praktische Beispiele

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.


Tipps für Profis

  • 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.


FAQ: Häufige Fragen

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.

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