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

Zelle in anderer Arbeitsmappe aktivieren

Forumthread: Zelle in anderer Arbeitsmappe aktivieren

Zelle in anderer Arbeitsmappe aktivieren
11.03.2014 16:36:11
Thomas
Hallo Excel Welt,
obwohl draußen tolles Terassen-Wetter ist spiele ich mit Excel rum :-).
Ich schreibe per VBA mittels Inhalte einfügen/ Werte in eine andere Datei, ohne diese Datei auszuwählen/ zu aktivieren. Anschl. ist in der anderen Datei genau dieser Bereich (gleiche Größe) markiert. Ist es möglich die aktive Zelle bzw. ausgewählte Zelle/ Zellbereich in einer anderen Datei zu ändern ohne diese zu aktivieren?

Sub test()
Range("A2:A10").Copy
With Workbooks("Mappe2.xlsx").Worksheets("Tabelle1")
.Range(.Cells(2, 3), .Cells(10, 3)).PasteSpecial xlValues
End With
End Sub

Ziel ist: in der Datei Mappe2 soll in Tabelle1 anschließend bspw. die Zelle A1 aktiv sein (d. h. nicht der Einfügebereich).
Schon mal vielen Dank für Eure Tipps und genießt das tolle Wetter.
Thomas

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zelle in anderer Arbeitsmappe aktivieren
11.03.2014 16:42:13
Klaus
Hi Thomas,
Ist es möglich die aktive Zelle bzw. ausgewählte Zelle/ Zellbereich in einer anderen Datei zu ändern ohne diese zu aktivieren?
in deinem Makro kommt in keinster Weise eine Referenz auf eine aktive Zelle vor. Und das ist auch gut so!
Meinst du statt Markierungen vielleicht die sogenannten "Kopierameisen"? Die bekommst du so weg:
Sub test()
Range("A2:A10").Copy
With Workbooks("Mappe2.xlsx").Worksheets("Tabelle1")
.Range(.Cells(2, 3), .Cells(10, 3)).PasteSpecial xlValues
    Application.CutCopyMode = False
End With
End Sub
Grüße,
Klaus M.vdT.

Anzeige
AW: Zelle in anderer Arbeitsmappe aktivieren
12.03.2014 08:18:44
Thomas
Hallo Klaus,
danke, dass Du Dir meine Frage mal angeschaut hast.
Mit dem Befehl cutcopymode beendet man meiner Meinung nach den Kopiermodus (blinkender Rahmen im Quellbereich).
In meinem o. a. Code wird in der aktiven Tabelle was kopiert. Anschließend wird die "Zwischenablage" in Mappe2/ Tabelle1 eingefügt. Dann ist in Mappe2/ Tabelle1 ein genauso großer Zellbereich markiert. Ziel ist es in Mappe2/ Tabelle 1 anschl. Zelle A1 (oder andere) zu markieren, ohne in diese Tabelle zu wechseln.
Wenn das nicht gehen sollte, ist es halt so - gibt Schlimmeres :-). Trotzdem noch mal danke.
Viele Grüße (heute aus dem sonnigen Frankfurt)
Thomas

Anzeige
AW: Zelle in anderer Arbeitsmappe aktivieren
12.03.2014 08:44:03
Klaus
Hallo Thomas,
Rudi hat deine Frage vor 12h beantwortet! Schau mal einen Beitrag weiter unten.
Grüße,
Klaus M.vdT.

AW: Zelle in anderer Arbeitsmappe aktivieren
12.03.2014 10:15:48
Thomas
Hallo Klaus,
danke für den Hinweis. Ich hatte die Einstellung, dass ich eine e-Mail-Nachricht erhale; habe aber die entsprechende Mail übersehen. Damit, ggf. mit cutcopymode wirds klappen. Ich werde mich selbbstverständlich auch noch bei Rude bedanken/ ihm antworten.
Viele Grüße
Thomas

Anzeige
AW: Zelle in anderer Arbeitsmappe aktivieren
11.03.2014 16:44:03
Rudi
Hallo,
ja, mit einem kleinen Trick. Einfach die Zelle kopieren und Formate einfügen. Ist ja unschädlich ;-)
Sub test()
Range("A2:A10").Copy
With Workbooks("Mappe2.xlsx").Worksheets("Tabelle1")
.Range(.Cells(2, 3), .Cells(10, 3)).PasteSpecial xlValues
.Cells(1,1).Copy
.Cells(1,1).PasteSpecial xlPasteFormats
End With
Application.CutCopyMode = False
End Sub
Gruß
Rudi

Anzeige
AW: Zelle in anderer Arbeitsmappe aktivieren
12.03.2014 10:26:38
Thomas
Hallo Rudi,
super - danke für den Tipp, genau das was ich brauchte.

Sub test()
Range("A2:A10").Copy
With Workbooks("Mappe2.xlsx").Worksheets("Tabelle1")
.Range(.Cells(2, 3), .Cells(10, 3)).PasteSpecial xlValues
.Cells(1, 1).Copy
.Cells(1, 1).PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End With
End Sub

Ich habe das mit dem cutcopymode noch ergänzt, weil ich sonst in der Mappe2/Tabelle1 komischerweise noch den Kopiermodus/ Blinkerahmen hatte.
Viele Grüße aus dem sonnigen Frankfurt
Thomas
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zelle in anderer Arbeitsmappe aktivieren


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und erstelle ein neues VBA-Modul.

  2. Füge den folgenden VBA-Code in das Modul ein, um einen Bereich zu kopieren und anschließend die Zelle A1 in der anderen Arbeitsmappe zu aktivieren, ohne diese aktiv zu machen:

    Sub test()
       Range("A2:A10").Copy
       With Workbooks("Mappe2.xlsx").Worksheets("Tabelle1")
           .Range(.Cells(2, 3), .Cells(10, 3)).PasteSpecial xlValues
           .Cells(1, 1).Copy
           .Cells(1, 1).PasteSpecial xlPasteFormats
       End With
       Application.CutCopyMode = False
    End Sub
  3. Führe das Makro aus. Nach dem Ausführen sollte die Zelle A1 in "Tabelle1" von "Mappe2.xlsx" aktiv sein, ohne dass die gesamte Arbeitsmappe gewechselt wurde.


Häufige Fehler und Lösungen

  • Fehler: "Kopieren Bereich und Einfügebereich nicht die gleiche Größe"

    • Dieser Fehler tritt auf, wenn der kopierte Bereich nicht die gleiche Größe wie der Einfügebereich hat. Stelle sicher, dass die Dimensionen übereinstimmen.
  • Lösung: Verwendung von CutCopyMode

    • Um den Kopiermodus zu beenden und den blinkenden Rahmen zu entfernen, solltest du Application.CutCopyMode = False hinzufügen, wie im obigen Beispiel gezeigt.

Alternative Methoden

Eine alternative Methode, um die aktive Zelle in einer anderen Arbeitsmappe zu aktivieren, wäre die Verwendung von Excel-Formeln oder Verweisen. Wenn du mit Formeln arbeitest, kannst du Daten zwischen Arbeitsmappen verlinken, ohne sie aktivieren zu müssen.

  • Beispiel:

    • In Zelle A1 von "Mappe2.xlsx" könntest du eine Formel verwenden, die auf Zelle A2 in "Mappe1.xlsx" verweist:
    ='[Mappe1.xlsx]Tabelle1'!A2

Praktische Beispiele

Hier ist ein weiteres Beispiel, wie du einen bestimmten Bereich in einer anderen Arbeitsmappe aktivieren kannst:

Sub Beispiel()
    Workbooks("Mappe2.xlsx").Activate
    Worksheets("Tabelle1").Range("A1").Select
End Sub

In diesem Beispiel wird die Zelle A1 in "Tabelle1" der "Mappe2.xlsx" aktiviert, nachdem die Arbeitsmappe aktiviert wurde.


Tipps für Profis

  • Verwende With...End With: Das macht deinen Code lesbarer und vermeidet Wiederholungen.
  • Setze Fehlerbehandlung ein: Verwende On Error Resume Next, um mögliche Fehler beim Zugriff auf nicht geöffnete Arbeitsmappen zu umgehen.
  • Vermeide unnötige Aktivierungen: Wenn du nicht wirklich zur Zelle wechseln musst, schau dir an, ob du die Zelle einfach referenzieren kannst, ohne sie zu aktivieren.

FAQ: Häufige Fragen

1. Kann ich die Zelle in einer anderen Arbeitsmappe aktivieren, ohne sie im Vordergrund zu haben? Ja, das ist möglich. Du kannst den gewünschten Zellbereich kopieren und dann die aktive Zelle in der anderen Arbeitsmappe setzen, ohne diese zu aktivieren.

2. Wie kann ich sicherstellen, dass der kopierte Bereich und der Einfügebereich die gleiche Größe haben? Achte darauf, dass beim Kopieren die Dimensionen von Quell- und Zielbereich identisch sind. Du kannst dies überprüfen, indem du die Zeilen und Spalten zählst, bevor du den Code ausführst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige