Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1084to1088
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
Tabellenblatt aus anderem Workbook kopieren
Jordan
Hallo zusammen,
ich hab hier mein erstes kleines VBA Projekt und hänge nun an einer Stelle.
Ich möchte den Inhalt einer Tabelle aus einer anderen Excel Datei in mein Workbook kopieren.
Da es sein kann, dass der Nutzer die Datei umbenannt hat, oder wo anders hingespeichert hat, möchte ich den Ort durch den Nutzer abfragen lassen.
Sollte dann so aussehen:
Nutzer wird gefragt, wo die Datei liegt ( am besten mit dem Excel eigenen Dialog)
Danach soll die Datei (Tabellenblätter) in mein Workbook in eine neue Tabelle mit dem Namen "Prüfung" geschrieben werden!
Die Überprüfung meiner Tabellen, ob eine Tabelle mit dem Namen "Prüfung" schon vorhanden ist, hab ich schon fertig!
Ich brauch nur einen kleinen Schubs! Will es ja größten Teils selber schaffen!
Danke für Eure Hilfe!

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

Betreff
Benutzer
Anzeige
AW: Tabellenblatt aus anderem Workbook kopieren
27.06.2009 11:40:44
Tino
Hallo,
geht es hiermit.
Option Explicit

Sub Start()
Dim strFile As String
Dim QuelleFile As Workbook, QuelleSheet As String, rngQuelle As Range
Dim ZielSheet As Worksheet

'hier noch den Tabellennamen für die Quelle anpassen 
QuelleSheet = "Tabelle1"
'hier den Tabellennamen fürs Ziel anpassen 
Set ZielSheet = ThisWorkbook.Sheets("Prüfung")

'Dialog 
    strFile = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
    
'wurde Abbrechen gedrückt? 
    If Not strFile = CStr(False) Then
        
        With Application
           .ScreenUpdating = False
           .EnableEvents = False
                
                'Datei schreibgeschützt öffnen 
                Set QuelleFile = Workbooks.Open(strFile, , True)
                'Quellbereich feststellen 
                Set rngQuelle = QuelleFile.Sheets(QuelleSheet).UsedRange
                'Ziel leer machen für neue Daten 
                ZielSheet.UsedRange.Value = ""
                'Quelle nach Ziel kopieren 
                rngQuelle.Copy ZielSheet.Range(rngQuelle.Address)
                'Datei wieder schließen 
                QuelleFile.Close False
           
           .ScreenUpdating = True
           .EnableEvents = True
         End With
    
    End If


End Sub


Gruß Tino

Anzeige
Danke Tino aber....
27.06.2009 11:55:09
Jordan
kann man den Tabellennamen der Quelle auch über ein ähnliches Menü wie bei "Datei öffnen" abfragen und in den Prozess einfließen lassen? Denn es kann ja sein, das die Datei einmal anders heist, oder vielleicht vom Anwender wo anders gespeichert wurde?
mit einer Userform
27.06.2009 12:19:57
Tino
Hallo,
vielleicht so mittels einer Userform, wo man die Tabelle auswählen kann.
hier ein Beispiel, auf Schönheit habe ich nicht geachtet:
https://www.herber.de/bbs/user/62788.xls
Gruß Tino
DU BIST SUPER!!!!
27.06.2009 12:24:26
Jordan
Danke, so hab ich mir das vorgestellt!!!
Nun muß ich das nur noch verstehen! Aber das haut hin und find ich super. Das Aussehen paß ich noch han.
DANKE DANKE DANKE
Hast mich wieder einen Schritt nach vorn gebracht!
Anzeige
Verbesserung
27.06.2009 13:03:14
Tino
Hallo,
ersetzen die Prozedur UserForm_Initialize in der Userform durch diese.
Beim Aufruf muss QuelleSheet zuerst leer gemacht werden, sonst kann es bei einem zweiten Aufruf zu einem Fehler kommen.
Private Sub UserForm_Initialize()
Dim oSheets As Worksheet

QuelleSheet = ""

With Me.ComboBox1
 .Clear
    For Each oSheets In QuelleFile.Worksheets
      .AddItem oSheets.Name
    Next oSheets
 .ListIndex = 0
End With

End Sub


Gruß Tino

Anzeige
...Ähnlich ist relativ! Ansonsten mit InputBox...
27.06.2009 12:22:25
Luc:-?
...bzw selbstgebautem UserFormular, Jordan.
Bspp zuhauf im Archiv...
Gruß Luc :-?
Danke für den Tipp Luc ....
27.06.2009 12:28:54
Jordan
aber ich hab das Forum schon durchsucht. Leider habe ich für mein Problem keine wirkliche Hilfe gefunden, da ich grundsätzlich das Problem hatte, wie ich den Pfad und den Namen der Quell Tabelle in mein Projekt bring.
Tino hat mir super geholfen.
Danke auch dir für den Tipp!

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige