Eingabefeld: Datei öffnen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Eingabefeld: Datei öffnen
von: Fabek
Geschrieben am: 25.04.2005 10:13:37
Hi,
komme nicht weiter. Ich würde gerne in einer Datei "Projekt1" mit der Prozedur "Datei öffnen" den Pfad vorgeben und in einem Eingabefeld dann nur noch den Dateinamen eingeben. Dadurch wird diese Datei geöffnet, das activesheet ausgewählt und die usedrange kopiert und in ein bestimmtes sheet von Projekt 1 eingefügt. Habe es schon selbst versucht...


Sub Datei_öffnen()
Datei = Application.GetOpenFilename(, , "Datei auswählen", , False)
If Datei = Empty Then Exit Sub
Workbooks.Open ("")
Datei = ActiveWorkbook.Name
Worksheet("Dez04").Select
Range("A1").Select
Selection.Copy
Windows("").Select
with
End Sub

Klappt nicht so richtig. Jemand eine Idee? Das wäre toll.
VGm Fabek
Bild

Betrifft: AW: Eingabefeld: Datei öffnen
von: UweD
Geschrieben am: 25.04.2005 11:07:48
Hallo
so :

Sub Datei_öffnen()
    Datei = Application.GetOpenFilename("Excel Files (*.xls),*.xls", , "Datei auswählen", , False)
    If Datei = Empty Then Exit Sub
    Workbooks.Open (Datei)
    ActiveWorkbook.ActiveSheet.UsedRange.Copy _
        Destination:=Workbooks("Project1.xls").Sheets("Neu").Range("A1")
        'Bei Destination Sheet und Zielzelle anpassen
    ActiveWorkbook.Close
End Sub

Gruß UweD
Bild

Betrifft: AW: Eingabefeld: Datei öffnen
von: Fabek
Geschrieben am: 25.04.2005 11:16:45
Vielen Dank ersteinmal. So richtig klappt es allerdings noch nicht. Wo muss ich den Pfad angeben?

Sub Datei_öffnen()
    Datei = Application.GetOpenFilename("\\...", , "Datei auswählen", , False)'Habe bei den Punkten den Pfad angegeben - falsch?
    If Datei = Empty Then Exit Sub
    Workbooks.Open (Datei)
    ActiveWorkbook.ActiveSheet.UsedRange.Copy _
        Destination:=Workbooks("Projekt1.xls").Sheets("Ausw1").Range("A1")
        ActiveWorkbook.Close
End Sub

VG, Fabek
Bild

Betrifft: AW: Eingabefeld: Datei öffnen
von: Frank Domke
Geschrieben am: 25.04.2005 11:39:03
Hallo Fabek,
sieh Dir mal die Lösung an:
http://www.tek-tips.com/faqs.cfm?fid=4114
Viel Erfolg
Frank.
Bild

Betrifft: AW: Eingabefeld: Datei öffnen
von: Fabek
Geschrieben am: 25.04.2005 12:47:14
Cool. Das klappt schon mal. Nun bin ich in Datei abc.xls, wenn ich dieses Makro aufrufe. Durch die Prozedur wird nun die Datei Daten.xls geöffnet. Dort will ich aus dem activesheet die usedrange kopieren und in tab1 von abc.xls einfügen. Grundsätzlich nicht so das Problem. Komme aber immer durcheinander, wann ich gerade wo bin in der Prozedur, also wann ich neben dem Sheet auch die datei angeben muss. Könnte jemand kurz drüber schauen? Das wäre nett.

Sub kopieren_einfügen()
Worksheets("Daten").UsedRange.Copy _
Destination:=.Range("A1")
Apllication.CutCopyMode = False
etc.
End Sub

Herzlichen Dank! Fabek
Bild

Betrifft: Bin nah dran! Brauche nur ein wenig Hilfe
von: Fabek
Geschrieben am: 25.04.2005 13:17:53
Bin ganz nah dran! Wie gesagt, schaffe ich das nur nicht mit diesen activesheets und sheets und so

Sub Datei_öffnen()
Dim Filter As String, Title As String
Dim FilterIndex As Integer
Dim Filename As Variant
Filter = "Excel Files (*.xls),*.xls," & _
"Text Files (*.txt),*.txt," & _
"All Files (*.*),*.*"
FilterIndex = 3
Title = "Wählen Sie bitte eine Datei aus!"
ChDrive ("C")
ChDir ("C:\Eigene Dateien")
With Application
Filename = .GetOpenFilename(Filter, FilterIndex, Title)
ChDrive (Left(.DefaultFilePath, 1))
ChDir (.DefaultFilePath)
End With
If Filename = False Then
MsgBox "Es wurde keine Datei ausgewählt."
Exit Sub
End If
Workbooks.Open Filename
MsgBox Filename, vbInformation, "Datei geöffnet"
ActiveSheet.UsedRange.Select 'hier bekomme ich eine fehlermeldung!
selecction.Copy
Windows("Projekt1").Activate
Sheets("Ausw1").Select
ActiveSheet.Paste
End Sub

ad fehlermeldung: will hier das activesheet von "rohdaten", von der datei, die ich ausgewählt und geöffnet habe, kopieren.. was mache ich falsch?
Bild

Betrifft: AW: Bin nah dran! Brauche nur ein wenig Hilfe
von: Fabek
Geschrieben am: 25.04.2005 13:20:59
Oder ich nenne das worksheet immer "daten"...
ActiveWindow.Sheets("Daten").Select
klappt aber auch nicht...
Bild

Betrifft: AW: Bin nah dran! Brauche nur ein wenig Hilfe
von: Volker
Geschrieben am: 25.04.2005 13:27:22
Hallo Fabek,
hier ist auf jeden Fall schon mal ein Tippfehler:
selecction.Copy
Der Editor hilft Dir bei der Eingabe, Wenn ein Schlüsselwort wie "Selection" nicht groß geschrieben wird, ist was faul, in dem Fall ein "c" zuviel.
Ev. war's das ja schon.
Gruß
Volker
Bild

Betrifft: AW: Bin nah dran! Brauche nur ein wenig Hilfe
von: Fabek
Geschrieben am: 25.04.2005 13:32:24
Danke zunächst. das war's leider aber nicht. Fehlermeldung bei UsedRange.Select. Ich starte doch in Projekt1.xls. Durch die Prozedur öffne ich z.B. Rohdaten1.xls. Zum Zeitpunkt, zu dem ich die UsedRange oder auch vorher das Worksheet "Daten" auswähle, befinde ich mich doch in der Datei "Rohdaten1". Oder nicht? Wie kann ich, wenn ich bereits in Rohdaten1 bi, dort die UsedRange des Aheets"Daten" auswählen?
UsedRange.Select
Selection.Copy
Windows("Projekt1").Activate
Sheets("Ausw1").Select
ActiveSheet.Paste
So klappt es nämlich leider nicht...
Bild

Betrifft: AW: Bin nah dran! Brauche nur ein wenig Hilfe
von: Hajo_Zi
Geschrieben am: 25.04.2005 13:35:22
Hallo Fabek,
hat Deine Datei tatsächlich den Namen "Projekt1" ohne Dateityp.
In VBA kann zu 99% auf select verzichtet werden. Ich würde die Zielzelle auch angeben.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!" Dies gilt auch für Bert.
Bild

Betrifft: Kann mir nicht jemand mal richtig helfen?
von: Fabek
Geschrieben am: 25.04.2005 13:44:47
Sind ja alle sehr nett. Aber was soll ich mit "auf select kann man evtl verzichten" anfangen? habe mein problem und mein ziel doch klar geschildert. prozeduren sind auch alle angegeben. es ist ja nicht so, dass hier irgendjemand meine arbeit machen soll. alle meine gescheiterten versuche sind im forum dokumentiert. Komme dennoch seit stunden nicht weiter. ich möchte gerne die aktiven spalten des sheets "Daten" der Datei, die ich vorher in der Prozedur ausgewählt habe, kopieren und in "Ausw1" von "Projekt1.xls" einfügen. Bitte!

Weiterer gescheiterter Versuch:
Sheets("Daten").UsedRange.Copy
Windows("Projekt1").Activate
Sheets("Ausw1").Select
ActiveSheet.Paste
Bild

Betrifft: AW: Kann mir nicht jemand mal richtig helfen?
von: Hajo_Zi
Geschrieben am: 25.04.2005 13:47:17
Hallo fabek,
schreibe doch mal den Dateinamen aus Deinem letzten Beitrag in den Code.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!" Dies gilt auch für Bert.
Bild

Betrifft: AW: Kann mir nicht jemand mal richtig helfen?
von: Fabek
Geschrieben am: 25.04.2005 13:49:59
Wie und wo? "Rohdaten.xls" soll ja gerade nicht in einem Code auftauchen, sondern durch die vorhergehende Prozedur ausgewählt werden. es gibt nämlich Rohdaten1.xls bis Rohdaten28.xls. Immer sollen dann die Daten aus Sheet "Daten" in "Projekt1.xls" Sheet "Ausw1" eingefügt werden.
Bild

Betrifft: AW: Kann mir nicht jemand mal richtig helfen?
von: Hajo_Zi
Geschrieben am: 25.04.2005 14:17:30
Hallo Fabek,
ein Hallo zu Beginn und ein Gruß am Ende läst den Beitrag doch gleich viel freundlicher aussehen. Auch wenn Du den Beitrag am Computer eingibst sitzen an der anderen Seite doch Leute und keine Maschinen die Deine Frage beantworten und da sollte Zeit für die paar Worte doch vorhanden sein.
In Deinem letzten Beitrag stand das die Datei den Namen Projekt1.XLS hat in Deinem Code steht aber nur Projekt1.
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!" Dies gilt auch für Bert.
Bild

Betrifft: AW: Bin nah dran! Brauche nur ein wenig Hilfe
von: UweD
Geschrieben am: 25.04.2005 13:51:58
Hi again

so müsste es klappen:

Sub Datei_öffnen()
    Dim Filter As String, Title As String
    Dim FilterIndex As Integer
    Dim Filename As Variant
    Filter = "Excel Files (*.xls),*.xls," & _
        "Text Files (*.txt),*.txt," & _
        "All Files (*.*),*.*"
    FilterIndex = 3
    Title = "Wählen Sie bitte eine Datei aus!"
    ChDrive ("C")
    ChDir ("C:\Eigene Dateien")
    With Application
        Filename = .GetOpenFilename(Filter, FilterIndex, Title)
        ChDrive (Left(.DefaultFilePath, 1))
        ChDir (.DefaultFilePath)
    End With
    If Filename = False Then
        MsgBox "Es wurde keine Datei ausgewählt."
        Exit Sub
    End If
    Workbooks.Open Filename
    MsgBox Filename, vbInformation, "Datei geöffnet"
    ActiveWorkbook.Sheets("Daten").UsedRange.Copy _
        Destination:=Workbooks("Project1.xls").Sheets("Ausw1").Range("A1")
End Sub

Gruß aus Siegen
Bild

Betrifft: AW: Bin nah dran! Brauche nur ein wenig Hilfe
von: Fabek
Geschrieben am: 25.04.2005 13:59:11
Danke. Vielen Dank. Et läuft!
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zahl als Text formatiert"