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

Forumthread: Aktive Zelle kopieren !!

Aktive Zelle kopieren !!
22.09.2015 16:00:29
Gerhard
Hallo !
Möchte aus BEREICH BA17:BG45 die aktive Zelle nach BE3 kopieren.
Anschließend übernimmt die aktive Zelle von BEREICH C14:G44 den Wert von B3.
Zelle BE3 dient nur zur Anzeige der Auswahl bzw. der manuellen Korrektur.
PS.: Die aktiven Zellen werden händisch ausgewählt.
Habe bereits Active.Cell zum Auslesen der aktuellen Position, kann jedoch leider Range bzw. Cell nicht korrekt einbinden!
Für evt. Hilfe
Vielen Dank

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
keine Geduld? Doppelt!
22.09.2015 16:04:01
Rudi
Hallo,
wahrscheinlich kann niemand (ich zumindest nicht) was mit deiner Schilderung anfangen.
Gruß
Rudi

AW: keine Geduld? Doppelt!
22.09.2015 18:40:58
Gerhard
Entschuldigung, war kurz unterwegs !!
Zur besseren Erklärung habe ich eine Beispieldatei hinzugefügt.
Möchte einen Wert von Bereich A nach Bereich B kopieren.
In Bereich B kann die Zeit oder Bezeichnung geändert werden.
Anschließend klicke ich in Bereich C und dort soll Wert Bereich B eingetragen werden.
Bei jedem Klick in Bereich A oder C wird die jeweilige Zelle farbig unterlegt
(das hab ich ja hingekriegt).
Nur wie gesagt die Einbindung des Kopierens in die Zellabfrage ist mir noch nicht gelungen.
Hoffe hiermit auf einen kleinen Denkanstoß......
https://www.herber.de/bbs/user/100329.xlsm

Anzeige
vielleicht so
22.09.2015 19:27:16
Michael
Hi zusammen,
kopier das mal ins Codefenster zu Tabelle5:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("BA17:BG45")) Is Nothing Then
If Target.Value  "" Then Range("B3").Value = Target.Value
Cancel = True
Else
If Not Intersect(Target, Range("C14:G44")) Is Nothing Then
If Range("B3").Value  "" Then Target.Value = Range("B3").Value
Cancel = True
End If
End If
End Sub
Wenn Du rechts eine Zelle doppelklickst, kommt der Wert in B3, da kannst Du dann ändern, und wenn Du links doppelklickst, wird der Wert aus B3 reingeschrieben.
Schöne Grüße,
Michael
P.S.: wenn die Schriftfarbe in B3 weiß ist, wird sich der Anwender mit Änderungen schwer tun.

Anzeige
AW: vielleicht so
22.09.2015 20:39:20
Gerhard
Ja, funktioniert !!
Damit kann ich jetzt weiterarbeiten.
Wenn man die Formel sieht, fällt das Verstehen gleich viel leichter.
Vielen Dank !!!

freut mich, danke für die Rückmeldung,
22.09.2015 20:53:39
Michael
aber sei Dir bewußt, daß es insbesondere zu Fehlbedienungen beim Kopieren von B3 nach "links" kommen kann, denn auch wenn in eine "schmale" Spalte mit Zahlen geklickt wird, wird eingefügt.
Das ist halt immer der Nachteil, wenn man unterschiedliche Spalten mischt...
Schau Dir mal die Hilfe zu "Union" an und nimm nur die Spalten C, E und G:
If Not Intersect(Target, Union(Range("C14:C44"), Range("E14:E44"), Range("G14:G44"))) Is Nothing Then
Beim anderen Bereich ist es nicht so schlimm, da reicht die Abfrage auf =""
Happy Exceling,
Michael

Anzeige
AW: freut mich, danke für die Rückmeldung,
22.09.2015 22:08:23
Gerhard
Danke für den Hinweis aber die "gefährlichen" Zellen sind dann sowieso gesperrt dass man dort nicht reinklicken kann.
Diese Auswertung wird dann nämlich von absoluten Excel-Laien bedient und deswegen wollte ich es so einfach wie möglich machen.
Werde aber den Befehl Union trotzdem noch einfügen.
Bin zuversichtlich, dass ich das irgendwann auch kapiere mit VBA.
Nochmals besten Dank !!!

Anzeige
gerne,
23.09.2015 16:43:50
Michael
Gerhard,
manchmal frage ich mich, ob es überhaupt noch "absolute Excel-Laien" gibt...
Ich finde es jedenfalls klasse, und das Schöne ist, daß man ja man auch immer wieder kleine Erfolgserlebnisse hat, wenn man sich damit beschäftigt.
Also erst Recht happy Exceling,
Michael
Anzeige

Infobox / Tutorial

Aktive Zelle in Excel kopieren und bearbeiten


Schritt-für-Schritt-Anleitung

Um die aktive Zelle in Excel zu kopieren, kannst du den folgenden VBA-Code verwenden. Dieser ermöglicht es dir, den Wert aus einem bestimmten Bereich zu kopieren und in eine andere Zelle einzufügen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Wähle im Projekt-Explorer die Tabelle aus, in der du den Code verwenden möchtest (z.B. Tabelle5).
  3. Füge den folgenden Code in das Codefenster ein:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("BA17:BG45")) Is Nothing Then
        If Target.Value <> "" Then Range("B3").Value = Target.Value
        Cancel = True
    Else
        If Not Intersect(Target, Range("C14:G44")) Is Nothing Then
            If Range("B3").Value <> "" Then Target.Value = Range("B3").Value
            Cancel = True
        End If
    End If
End Sub
  1. Schließe den VBA-Editor und kehre zu deinem Arbeitsblatt zurück.
  2. Jetzt kannst du in den Bereich BA17:BG45 doppelklicken, um den Wert in B3 zu kopieren. Doppelklick in den Bereich C14:G44 fügt den Wert aus B3 ein.

Häufige Fehler und Lösungen

  • Fehler: Der Wert wird nicht in die Zelle kopiert.

    • Lösung: Stelle sicher, dass der Zellbereich in der Intersect-Funktion korrekt definiert ist. Achte darauf, dass du die Zelle doppelt klickst, um den Wert zu übertragen.
  • Fehler: Excel gibt eine Fehlermeldung aus, wenn du den Code ausführst.

    • Lösung: Überprüfe, ob der VBA-Code korrekt eingegeben wurde. Achte auf Syntaxfehler, wie fehlende End If-Anweisungen.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, gibt es auch einfache Excel-Funktionen, um Werte zu kopieren:

  1. Verwende die COPY- und PASTE-Funktionen, um den gewünschten Wert manuell zu kopieren.
  2. Nutze die WENN-Funktion, um Bedingungen festzulegen, die das Kopieren von Werten in andere Zellen steuern.

Beispiel für eine WENN-Funktion:

=WENN(A1<>"", A1, "")

Praktische Beispiele

Ein praktisches Beispiel für die Verwendung des oben genannten Codes wäre, wenn du eine Excel-Liste führst, in der verschiedene Produkte aufgeführt sind. Durch Doppelklicken auf ein Produkt in den Zellen BA17:BG45 kannst du den Preis in B3 kopieren. Ein weiteres Doppelklicken in den Zellen C14:G44 ermöglicht es dir, den Preis in die gewünschte Zelle einzufügen.


Tipps für Profis

  • Achte darauf, dass die Zellen, in die du Werte kopierst, nicht gesperrt sind, um Fehlbedienungen zu vermeiden.
  • Überlege, den Befehl Union zu verwenden, um mehrere Bereiche effizient zu verwalten. Beispiel:
If Not Intersect(Target, Union(Range("C14:C44"), Range("E14:E44"), Range("G14:G44"))) Is Nothing Then
  • Denk daran, die Schriftfarbe in B3 so zu wählen, dass sie für die Benutzer sichtbar ist.

FAQ: Häufige Fragen

1. Warum funktioniert der VBA-Code nicht?
Stelle sicher, dass du den Code in das richtige Tabellenmodul eingefügt hast und dass Makros in Excel aktiviert sind.

2. Kann ich diesen Code auch in anderen Excel-Versionen verwenden?
Ja, dieser Code sollte in den meisten Versionen von Excel funktionieren, die VBA unterstützen, einschließlich Excel 2010 und neuer.

3. Gibt es eine Möglichkeit, den Code zu optimieren?
Ja, du kannst den Code anpassen, um spezifische Anforderungen zu berücksichtigen, zum Beispiel zusätzliche Bedingungen oder erweiterte Fehlerbehandlung.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige