Microsoft Excel

Herbers Excel/VBA-Archiv

Tabelle in externer Mappe ansprechen

Betrifft: Tabelle in externer Mappe ansprechen von: Peter Stähler
Geschrieben am: 11.08.2014 15:10:41

Hallo zusammen,

bei einer vermeintlich kleinen Herausforderung stehe ich gerade komplett vor der Wand :-(
Sicher habt Ihr eine Idee und es ist ganz einfach ...

Aus einer Excel-Mappe heraus öffne ich eine andere Mappe (= wkbQuelle).
Aus dieser Mappe möchte ich Daten in meine aufrufende Mappe kopieren. Nun möchte ich dabei am liebsten mit dem Codenamen arbeiten ... und genau das gelingt mir nicht.

Das Kopieren gelingt wenn ich die erste Tabelle anspreche:
wkbQuelle.Worksheets(1).UsedRange.Copy

und wenn ich den Namen verwende:
wkbQuelle.Worksheets("Input").UsedRange.Copy

Wie kann ich denn die Tabelle mit dem Codenamen ansprechen?
wkbQuelle.Worksheets(Tabelle1).UsedRange.Copy oder
wkbQuelle.Worksheets(Tabelle1.name).UsedRange.Copy
geh'n beide schief.

Vielen Dank für Eure Hilfe und viele Grüße
Peter

  

Betrifft: AW: Tabelle in externer Mappe ansprechen von: Tino
Geschrieben am: 11.08.2014 15:20:56

Hallo,
soweit ich es kenne kann man mit dem Objektnamen nur direkt in der Mappe arbeiten.

Alternativ könne es so gehen.

Dim wkbQuelle As Workbook, wks As Worksheet

'...
'...
'...

For Each wks In wkbQuelle.Worksheets
    If wks.CodeName = "Tabelle1" Then
        wks.UsedRange.Copy
        '...
        '...
        '...
        Exit For
    End If
Next wks



  

Betrifft: AW: Tabelle in externer Mappe ansprechen von: Peter Stähler
Geschrieben am: 11.08.2014 15:23:14

Hallo Timo,

danke für Deine schnelle Antwort.
Die deckt sich ja auch mit meinen bisherigen negativen Erfahrungen :-(
Naja - es gibt ja Möglichkeiten die funktionieren ... neh'm ich die.

Nochmals Danke und viele Grüße
Peter


  

Betrifft: Das, was Tino soweit kennt, ist ein weit ... von: Luc:-?
Geschrieben am: 11.08.2014 18:09:58

…verbreiteter Irrtum, Peter,
der zwar formal richtig erscheint, aber flgd Tatsache außer acht lässt:
Wenn man sich im VBA-Projekt einer Mappe auf Prozeduren in einem AddIn beziehen will, muss man zuerst auf dieses verweisen! Auch bei Einbeziehung anderer Bibliotheken (von Word, PowerPoint oder sonstwas) ist das so. Ohne Verweis geht gar nichts!
Wenn du die InternNamen (CodeNames) einer anderen Mappe benutzen willst, ist das genauso — ohne Verweis sind und bleiben sie dem aufrufenden VBA-Projekt unbekannt (nur dann nicht, wenn sie auch im aufrufenden Projekt auftreten, aber dann wird's falsch!). Daraus ergibt sich, dass du alle InternNamen so ändern musst, dass sie eindeutig sind. Das fängt bei VBAProject an (sonst kannst du keinen Verweis darauf setzen!) und geht über DieseArbeitsmappe bis zu den einzelnen Blättern. Also solltest du dir zuerst ein eindeutige Namen liefd Bezeichnungssystem überlegen!
Gruß, Luc :-?


  

Betrifft: nutzen Aufwand? von: Tino
Geschrieben am: 11.08.2014 18:46:57

Hallo,
diese Vorgehensweise/Aufwand lasse ich bei einem Addin noch gelten,
aber nicht wenn es sich um normale Arbeitsmappen handelt und evtl. auch noch mehrere.

Gruß Tino


  

Betrifft: Das mag jeder so halten wie er will, doch ... von: Luc:-?
Geschrieben am: 11.08.2014 19:37:37

…möglich ist es halt… ;->
Luc :-?


  

Betrifft: AW: Das mag jeder so halten wie er will, doch ... von: Peter Stähler
Geschrieben am: 12.08.2014 08:09:27

Hallo Luc,

auch Dir vielen Dank für Deine Antwort.
Ich werde es auf jeden Fall mal so ausprobieren wie Du geschrieben hast - um es bei Bedarf einsetzen zu können.
Im meinem aktuellen Fall heißen die Tabellen entweder "Tabelle1", ... oder "Sheet1" ... - da komme ich aufgrund des Arbeitsablaufes mit dem Kopieren aus der ersten Tabelle aus.
Und: gut wenn man immer ein bißchen mehr weiß als das, was man gerade benötigt :-)

Viele Grüße
Peter


  

Betrifft: Na, dann viel Erfolg! Übrigens, ... von: Luc:-?
Geschrieben am: 12.08.2014 14:30:07

…Peter,
ich mache das auch nur bei kompletten Projekten. Wenn man das gleich macht, ist der Aufwand nicht allzu groß und man hat die UmbennennungsArbeit nicht mehr, falls man dann später mal mit dieser Mappe aus einer anderen heraus arbeiten will. Aber ein (Um-)Benennungssystem muss man dann schon haben… ;-)
Gruß, Luc :-?


 

Beiträge aus den Excel-Beispielen zum Thema "Tabelle in externer Mappe ansprechen"