Thema Datum  Von Nutzer Rating
Antwort
13.07.2017 13:29:33 Rudi
NotSolved
13.07.2017 17:50:03 Ben
NotSolved
Rot VBA Daten aus Datei einlesen und in neue datei kopieren
14.07.2017 09:25:46 Rudi
NotSolved
15.07.2017 13:05:53 Gast70117
NotSolved
17.07.2017 08:13:27 Rudi
NotSolved

Ansicht des Beitrags:
Von:
Rudi
Datum:
14.07.2017 09:25:46
Views:
628
Rating: Antwort:
  Ja
Thema:
VBA Daten aus Datei einlesen und in neue datei kopieren

Hallo ich bekomm es nicht hin.

Also ich möchte ja den Wert der in B2 steht als Blattnamen nehmen der bei import kopiert werden soll.

Wo muss ich jetzt meien Codes anpassen?

 

Hab folgendes gemacht ohne Erfolg:

 

Modul 1:

Option Explicit

Sub Import_mit_Dialog()
Dim Quelle As Object, Ziel As Object
Dim Datei As String

On Error GoTo Fehler

'Dialog "Datei öffnen" anzeigen
Datei = Application.GetOpenFilename("Excel-Dateien(*.xlsx),*xlsx")
        
'Abbrechen falls keine Datei ausgewählt
If Datei = "Falsch" Then
  MsgBox "Keine Datei ausgewählt!", , "Abbruch"
  Exit Sub
End If

'MsgBox "Ausgewählte Datei: " & Datei, , ""
  
'Ausgewählte Datei öffnen
Workbooks.Open Filename:=Datei


<strong> 
Set Ziel = ThisWorkbook.Worksheets(3)
blatt = Ziel.Range("B10").Value

Set Quelle = ActiveWorkbook.Worksheets(blatt)</strong>




'kopieren und einfügen
Quelle.UsedRange.Copy
Ziel.Cells(1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

ActiveWorkbook.Close Application.DisplayAlerts = True
MsgBox "Import abgeschlossen!"

'Speicher freigeben
Set Quelle = Nothing
Set Ziel = Nothing

Application.DisplayAlerts = False


Exit Sub

Fehler:
Set Quelle = Nothing
Set Ziel = Nothing

    MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _
    & "Beschreibung: " & Err.Description _
    , vbCritical, "Fehler"
    
   
    
    
End Sub

 

 

In einem zweiten Modul:

 

 



Function FindWorksheet(wbk As Workbook, sSheetName As String) As Worksheet
    Dim wsh As Worksheet
    With wbk
        For Each wsh In wbk.Worksheets
            If wsh.Name = sSheetName Then
                Set FindWorksheet = wsh
                Exit For
            End If
        Next
    End With
End Function

 

 

Und in DieseArbeitsmappe dann:

Sub Test()
    Dim wsh As Worksheet
    Set wsh = FindWorksheet(ActiveWorkbook, "blatt")
    If wsh Is Nothing Then
        MsgBox "Gesuchte Tabelle ist nicht vorhanden!"
    End If
End Sub

 

Wie bekomm ich das nun hin dwenn in Zelle B10 nun angenommen  Angebot steht. Er beim importieren die gewählte Datei nach den Tabellennamen Angebot durchsucht und diese dann kopiert?


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
13.07.2017 13:29:33 Rudi
NotSolved
13.07.2017 17:50:03 Ben
NotSolved
Rot VBA Daten aus Datei einlesen und in neue datei kopieren
14.07.2017 09:25:46 Rudi
NotSolved
15.07.2017 13:05:53 Gast70117
NotSolved
17.07.2017 08:13:27 Rudi
NotSolved