Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  userform für dateiauswahl
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
C.Almer
Newbie
Newbie


Anmeldedatum: 04.03.2007
Beiträge: 15

BeitragVerfasst am: 31.05.2007, 15:59 Nach oben

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!
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 31.05.2007, 17:08 Nach oben

Hallo!

Auf dieser Seite wird sowas angeboten:
http://www.downloadcounter.de/counter.pl?page=http://home.arcor.de/excelseite/Werkzeugkiste/tabuebertrag.html&user=ExcelSeite2

Sonst müsstest du dir die Methode GetOpenFilename zu Gemüte führen.

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
C.Almer
Newbie
Newbie


Anmeldedatum: 04.03.2007
Beiträge: 15

BeitragVerfasst am: 02.06.2007, 11:44 Nach oben

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!
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 02.06.2007, 13:23 Nach oben

Hallo!
Zitat:
ich hab des mit GetOpenFilename mal probiert und bin zu folgendem ergebnis gekommen

Dann hast du offensichtlich den falschen Code gepostet, denn hier ist nichts mit "GetOpenFilename" zu erkennen...

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
C.Almer
Newbie
Newbie


Anmeldedatum: 04.03.2007
Beiträge: 15

BeitragVerfasst am: 02.06.2007, 19:18 Nach oben

oh, sry

du hast recht, das is nur ein teil des codes! Embarassed

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
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 02.06.2007, 19:34 Nach oben

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...

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
C.Almer
Newbie
Newbie


Anmeldedatum: 04.03.2007
Beiträge: 15

BeitragVerfasst am: 02.06.2007, 22:08 Nach oben

seh ich genauso wie du!
und verdammt, geil, wie es klappt!

das hab ich mir genauso vorgestellt!

großes großes DANKE!
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 462
Wohnort: Kiel

BeitragVerfasst am: 05.06.2007, 12:51 Nach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
C.Almer
Newbie
Newbie


Anmeldedatum: 04.03.2007
Beiträge: 15

BeitragVerfasst am: 07.06.2007, 15:29 Nach oben

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?
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5729

BeitragVerfasst am: 07.06.2007, 15:33 Nach oben

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

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen und hilft sicher gerne weiter!
Benutzer-Profile anzeigenPrivate Nachricht senden
C.Almer
Newbie
Newbie


Anmeldedatum: 04.03.2007
Beiträge: 15

BeitragVerfasst am: 07.06.2007, 19:11 Nach oben

dein zweiter code hat geklappt!
ihr seid echt spitze!
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 462
Wohnort: Kiel

BeitragVerfasst am: 08.06.2007, 07:38 Nach oben

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
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Userform Befehlsfläsche funktioniert ... Posaune Microsoft Excel Hilfe 2 17.09.2008, 23:28 Letzten Beitrag anzeigen
Keine neuen Beiträge Hyperlinks in Userform correx Microsoft Excel Hilfe 10 08.08.2008, 14:12 Letzten Beitrag anzeigen
Keine neuen Beiträge Bild in Userform von Arbeitsblatt dan311 Microsoft Excel Hilfe 1 16.06.2008, 20:34 Letzten Beitrag anzeigen
Keine neuen Beiträge userform aktualisieren bei veränderun... dan311 Microsoft Excel Hilfe 1 07.06.2008, 12:44 Letzten Beitrag anzeigen
Keine neuen Beiträge ComboBox in UserForm einblenden / aus... timi Microsoft Excel Hilfe 0 05.06.2008, 12:57 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de