Office: userform für dateiauswahl

Helfe beim Thema userform für dateiauswahl in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; hi! ich wollte euch masters mal was fragen: ich hab zwei arbeitsmappen; nun möcht ich in einem nen button, mit dem man folgendes macht: men klickt... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von C.Almer, 31. Mai 2007.

  1. C.Almer Erfahrener User

    userform für dateiauswahl


    hi!
    ich wollte euch masters mal was fragen:
    ich hab zwei arbeitsmappen;
    nun möcht ich in einem nen button, mit dem man folgendes macht:
    men klickt ihn, und dann werden einige tabellenblätter in die zweite arbeitsmappe kopiert;

    mein ansatz war folgender:
    Code:
        Sheets("Tabelle1").Select
        Sheets("Tabelle1").Copy Before:=Workbooks("1.xlsx").Sheets(3)
    weiter kam ich auch nicht; ich hätte gern, dasss statt dem fixen "1.xlsx" ich in ner userform auswählen kann, wo sich die datei befindet, in der ich die dateiblätter kopieren will.

    ist das möglich? hofffe, ich war nicht zu unklar!
     
    C.Almer, 31. Mai 2007
    #1
  2. schatzi Super-Moderator
    schatzi, 31. Mai 2007
    #2
  3. C.Almer Erfahrener User
    das programm is eher nichts für mich;

    aber ich hab des mit GetOpenFilename mal probiert und bin zu folgendem ergebnis gekommen:

    Code:
    Private Sub CommandButton2_Click()
        Sheets("Tabelle1").Select
        Sheets("Tabelle1").Copy Before:=Workbooks("& fileToOpen").Sheets(1)
    End Sub
    aber es funktioniert nicht; kannst du mir auch da weiterhelfen?
    schon mal danke im voraus!
     
    C.Almer, 2. Juni 2007
    #3
  4. schatzi Super-Moderator

    userform für dateiauswahl

    Hallo!
    Dann hast du offensichtlich den falschen Code gepostet, denn hier ist nichts mit "GetOpenFilename" zu erkennen...
     
    schatzi, 2. Juni 2007
    #4
  5. C.Almer Erfahrener User
    oh, sry

    du hast recht, das is nur ein teil des codes! userform für dateiauswahl :oops:

    Code:
    Private Sub CommandButton1_Click()
    
    fileToOpen = Application _
        .GetOpenFilename("Excel Arbeitsmappen (*.xls), *.xls")
          
    End Sub
    
    Private Sub CommandButton2_Click()
        Sheets("Tabelle1").Select
        Sheets("Tabelle1").Copy Before:=Workbooks("& fileToOpen").Sheets(1)
    End Sub
    
     
    C.Almer, 2. Juni 2007
    #5
  6. schatzi Super-Moderator
    Hallo

    Bei mir funktioniert dies:

    Code:
    Sub test()
    Dim Datei As Variant
    Dim DateiName As String
    Datei = Application.GetOpenFilename("Excel-Dateien(*.xl*),*.xl*")
    If Datei = False Then Exit Sub
    Workbooks.Open Filename:=Datei
    With Application.WorksheetFunction
    DateiName = Mid(Datei, 1 + .Find("#", .Substitute(Datei, "\", "#", _
    Len(Datei) - Len(.Substitute(Datei, "\", "")))), 99)
    End With
    ThisWorkbook.Sheets("Tabelle1").Copy Before:=Workbooks(DateiName).Sheets(1)
    'Optional auch noch die folgende Zeile, um die Datei wieder zu schliessen:
    'Workbooks(DateiName).Close SaveChanges:=True
    End Sub
    Wahrscheinlich schiesse ich bei der Bestimmung von DateiName mit Kanonen auf Spatzen, aber Hauptsache es klappt...
     
    schatzi, 2. Juni 2007
    #6
  7. C.Almer Erfahrener User
    seh ich genauso wie du!
    und verdammt, geil, wie es klappt!

    das hab ich mir genauso vorgestellt!

    großes großes DANKE!
     
    C.Almer, 2. Juni 2007
    #7
  8. miriki Erfahrener User

    userform für dateiauswahl

    C.Almer:

    > fileToOpen = Application. _
    > GetOpenFilename("Excel Arbeitsmappen (*.xls), *.xls")

    Hier wird der Dateiname in die Variable fileToOpen gepackt.

    > Sheets("Tabelle1").Copy _
    > Before:=Workbooks("& fileToOpen").Sheets(1)

    Und hier wird als Dateiname die Zeichenkette "& fileToOpen" statt der Variablen benutzt. Laß mal die " und das & weg, dann müsste es eigentlich klappen.

    Gruß, Michael
     
    miriki, 5. Juni 2007
    #8
  9. C.Almer Erfahrener User
    danke miriki! das werd ich bei gelegenheit probieren!

    aber derzeit hab ich folgendes problem:

    Code:
    Dim Datei As Variant
    Dim DateiName As String
    Dim ProgressBar As Integer
    
    Datei = Application.GetOpenFilename("Excel-Dateien(*.xl*),*.xl*")
    If Datei = False Then Exit Sub
    
    Workbooks.Open Filename:=Datei
    With Application.WorksheetFunction
    DateiName = Mid(Datei, 1 + .Find("#", .Substitute(Datei, "\", "#", _
    Len(Datei) - Len(.Substitute(Datei, "\", "")))), 99)
    End With
    
    Windows(DateiName).Activate
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
    Sheets("DateConfig").Select
    Range("F6").Select
    ActiveCell.FormulaR1C1 = "6/4/2007"
    Bei "Range("F6").Select" bleibt er stecken und gibt mir ne fehlerrmeldung:
    die selektmethode des rang-objekts konnte nicht ausgeführt werden;

    weiß jemand, was ich dagegen machen kann?
     
    C.Almer, 7. Juni 2007
    #9
  10. schatzi Super-Moderator
    Was passiert denn, wenn du diesen Teil
    Code:
    Sheets("DateConfig").Select
    Range("F6").Select 
    änderst in
    Code:
    Sheets("DateConfig").Range("F6").Select 
    oder falls das nicht klappt, dann
    Code:
    Sheets("DateConfig").Select
    Sheets("DateConfig").Range("F6").Select 
     
    schatzi, 7. Juni 2007
    #10
  11. C.Almer Erfahrener User
    dein zweiter code hat geklappt!
    ihr seid echt spitze!
     
    C.Almer, 7. Juni 2007
    #11
  12. miriki Erfahrener User
    C.Almer:
    > dein zweiter code hat geklappt!

    Das liegt daran, daß man mit "select" nur arbeiten kann, wenn das Blatt vorher auch aktiviert (in den Vordergrund geholt) wurde.

    Ich tue mich auch immer etwas schwer, zu entscheiden, ob ich "select" oder "activate" nehme, bevorzuge aber i.a. Letzteres.

    Wobei ich insgesamt noch folgende Schreibweise favorisieren würde:

    ggf.: workbooks(datei).activate
    worksheets(blatt).activate
    activesheet.range(zelle).activate / activesheet.cells(zeile,spalte).activate

    Der Vorteil von "activesheet" ist, daß man den Blattnamen nicht mehrmals im Code hat. Egal, wenn man es per Variable macht, aber vorteilhaft, wenn man "..." benutzt. Sollte sich später der Blattname ändern, muß man an weniger Stellen im Code ändern.

    Gruß, Michael
     
    miriki, 8. Juni 2007
    #12
Thema:

userform für dateiauswahl

Die Seite wird geladen...
  1. userform für dateiauswahl - Similar Threads - userform dateiauswahl

  2. Userform unterdrücken - wenn Datei von andere Datei geöffnet wird

    in Microsoft Excel Hilfe
    Userform unterdrücken - wenn Datei von andere Datei geöffnet wird: Hallo, ich habe einer Excel-Datei X ein Userform vorgeschaltet, d.h. wenn die Datei X geöffnet wird, wird das Userform geöffnet und der Anwender zur Eingabe von paar Daten aufgefordert....
  3. UserForm in Office 2019 für MacOS fehlt

    in Microsoft Excel Hilfe
    UserForm in Office 2019 für MacOS fehlt: Hallo, ich wollte nach Hardwarewechsel auf Macbook im Office 2019 für MacOS eine UserForm erstellen und bin überrascht das ich keine Möglichkeit dazu finde, die Auswahlmöglichkeit im...
  4. Userform Login Benutzername in Zelle schreiben

    in Microsoft Excel Hilfe
    Userform Login Benutzername in Zelle schreiben: Hallo mal wieder ins Forum, ich habe mir nach einem Video ein Login nachgebaut. Das funktioniert auch einwandfrei. Hier der Code: Private Sub bttnAnmelden_MouseDown(ByVal Button As Integer, ByVal...
  5. Datum in Userform formatieren

    in Microsoft Word Hilfe
    Datum in Userform formatieren: Hallo! Ich habe folgende Herausforderung: Word 365. In einer Userform gibt es zwei Textboxen (TB_Datum und TB_Datum für Termin) In die Textbox TB_Datum soll ein Datum eingetragen werden können....
  6. UserForm zum bearbeiten von Tabellen und speichern

    in Microsoft Excel Hilfe
    UserForm zum bearbeiten von Tabellen und speichern: Guten Tag Ich habe leider ein Problem, das mich zur Verzweiflung bringt. Vielleicht findet hier jemand einen Lösung für mein Problem. Ich bekommen leider einen Laufzeitfehler '1004'. Zur...
  7. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  8. UserForm wechseln

    in Microsoft Excel Hilfe
    UserForm wechseln: Hallo Vorweg der Hinweis, dass ich ein VBA-Programm habe, welches von einem anderen erstellt wurde der mir nicht mehr zur Verfügung steht. Habe Erweiterungen bisher mühsam durch Zusammentragen von...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden