Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1356to1360
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ThisWorkbook in AddIn

ThisWorkbook in AddIn
29.04.2014 13:40:39
Petra
Hallo,
ich habe ein Problem mit einem Makro, für das ich trotz intensiver Suche leider keine Lösung finde.
Der Makro soll eine bestimmte Datei (Muster.xslm) öffnen und daraus ein Tabellenblatt in eine bereits geöffnete Datei (individueller Name) verschieben/kopieren.
Es funktioniert einwandfrei, wenn ich den Makro es aus einer „normalen“ Excel-Datei starte, ich möchte es allerdings in ein Add-In einbinden und das habe ich bisher nicht geschafft.
Sub muster()
Workbooks.Open Filename:="C:\Dateien\Muster.xlsm"
Sheets("Muster").Select
Sheets("Muster").Copy After:=ThisWorkbook.Sheets(Sheets.Count) - hier kommt der Fehler…
…
…
Ich vermute, dass „ThisWorkbook“sich dann auf das Add-In bezieht, nicht auf die geöffnete Datei, weiß aber nicht, wodurch ich den Ausdruck ersetzen soll und wäre dankbar, falls mir jemand weiterhelfen kann.
LG Petra

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

Betreff
Datum
Anwender
Anzeige
AW: ThisWorkbook in AddIn
29.04.2014 13:44:05
Martin
Hallo Petra,
deine Vermutung ist richtig, ersetze "ThisWorkbook" durch "ActiveWorkbook".
Viele Grüße
Martin

Active... statt This...
29.04.2014 13:47:58
EtoPHG
Hallo Petra,
so?
    Dim wbZ As Workbook
Set wbZ = ActiveWorkbook
Application.ScreenUpdating = False
With Workbooks.Open("C:\Dateien\Muster.xlsm")
.Worksheets("Muster").Copy after:=wbZ.Sheets(wbZ.Sheets.Count)
.Close Savechanges:=False
End With
Gruess Hansueli

Peinlich...
29.04.2014 13:51:38
Martin
...wie blind ich war. Mir hätte auffallen müssen, dass die neu geöffnete Datei selbstverständlich die aktive Arbeitsmappe ist. Ich schäme mich... ;-)
Hansueli hat dein Problem richtig gelöst!
Viele Grüße
Martin

Anzeige
Wieso eigentlich 'peinlich' und 'schämen', ...
29.04.2014 15:48:34
Luc:-?
…Martin,
du hast doch Petras Vermutung richtig bestätigt! ThisWorkbook bezieht sich, wie der Name schon sagt, immer auf den Standort des verwendenden Pgms! Befindet sich das in einem AddIn also auf das AddIn (→ das ist auch ein Workbook!).
In diesem Fall wäre also tatsächlich Active… statt This… richtig, wie es Hansueli in seinem Betreff und du quasi in deinem Beitrag geschrieben ha(s)t. Das man zuvor eine ObjektVariable mit einer entsprd Referenz laden kann, ändert doch nichts am Sachverhalt, sondern ist hier doch „nur“ guter PgmierStil, dient außerdem der Schreibverkürzung und wird zusätzlich vom VBE-Intellisense mit Infos „belohnt“.
Das kann man übrigens mit allen Objekten machen (bspw auch mit Application bzw WorksheetFunction ) und erspart sich so uU ein With-Konstrukt.
Gruß Luc :-?

Anzeige
danke
30.04.2014 07:36:20
Petra
Guten Morgen und vielen Dank für die Hilfe. Funktioniert einwandfrei mit dem Vorschlag von Hansueli.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige