Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
716to720
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
716to720
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code umschreiben

Code umschreiben
10.01.2006 09:24:35
Jessica
Hallo Leute
Hab von Luc einen Code erhalten mit dem überprüft wird ob eine Datei mit dem eingegeben Dateinamen bereits existiert. Wenn Sie existiert soll der Benutzer einen anderen Dateinamen angeben.
Problem:
1. er durchsucht alle Verzeichnisse
2. Datei in denen mein Dateiname vorkommt wird angezeigt. Dateinamen müssen nicht übereinstimmen z.B. eingabe von "test" als existierende Datei erhalte "ralph-test" (in der MsgBox wird aber test als existierende Datei angezeigt)
3. der Nutzer kann angeben welches Blatt gespeichert werden soll
Frage:
1. Könnte mir jemand den aufruf der Userform sagen.
2. Könnte mir jemand den Code zu umschreiben, das nicht alle Verzeichnisse durchsucht werden sondern nur der Ordner, den sich der Benutzer in der Userform ausgewählt hat.
3. Es soll immer das aktuelle/aktive Blatt gespeichert werden
Beispieldatei mit dem Code von Luc, mit dem bereits geänderten Code von mir und der Userform: https://www.herber.de/bbs/user/29875.xls
Hab noch einen anderen Thread offen in dem ich mir bei dem füllen des Array helfen lasse. Weiß nicht ob das vielleicht wichtig ist. Hier ist jedenfalls der Link zum nachschauen Zwecks Userform: https://www.herber.de/forum/archiv/716to720/t716587.htm
Danke schon mal im voraus
Jessica

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code umschreiben
10.01.2006 14:35:34
Eugen
hi
schau dir mal folgendes teil an, sollte
deinen anforderungen genügen.
www.herber.de/bbs/user/29894.xls
mfg
AW: Code umschreiben
11.01.2006 09:23:16
Jessica
Hallo Eugen
Hab dein Programm getestet.
Wollte das mit den Optionsfeldern haben damit der Benutzer sich die Ordner nicht raus suchen muss. So gehts aber auch. Ist glaub ich auch nicht so fehleranfällig hinsichtlich dem Array in dem die Ordnernamen gespeichert sind. Was ich aber auf jeden fall noch gerne geändert hätte ist
1. In Zelle B5 steht mein Dateiname (mit oder ohne .xls, jenachdem wie es der Benutzer eingibt). Könnte man sich diesen Wert in dem Textfeld als Standardwert anzeigen lassen.
2. Ich kann in das Textfeld nichts eingeben. Ist es möglich das ich dort etwas eingebe und mir dies dann als im Dialog speichern Unter als Dateiname vorgeschlagen wird.
3. Wäre es möglich mit hilfe einer InputBox oder irgendentwas anderem einen Pfad einzulesen und diesen den als Ausgangspfad im Dialog Speichern Unter angezeigt bekomme.
z.B. statt C:\Eigene Datein\ H:\Kirp\Bewertung\
somit müsste sich der Benutzer nur noch den Unterordner auswählen.
Nachmöglichkeit sollt aber kein nach oben manövrieren möglichsein. Da ein anderes Programm sich die Excel-Datein aus den Unterordern ausliest? Dies Wäre aber nicht unbedingt nötig, aber gut. Dann hat der Nutzer eben pechgehabt wenn er den Pfad ändert.
4. Wenn ich im Dialog Speichern Unter auf Abbrechen klicke, speichert er mir die Datei trotzdem. Und zwar unter dem Namen False. Kann man das noch so ändern das nichts gespeichert wird.
5. Ich möchte aber nur das aktuelle Blatt in einer neuen Mappe speichern, ist dies auch irgendwie möglich?
6. Wenn ich zweimal hintereinander im Dialogfeld Speichern Unter keinen Dateinamen angebe und auf Abbrechen Klicke existiert ja eine False.xls bereits und ich bekomme eine Felhlermeldung (von Excel nicht die MsgBox) das die Datei bereit existiert, soweit auch richtig. Klick ich dann aber auf nein steigt das Programm aus (Laufzeitfehler 1004: Methode SaveAs für das Object ist fehlgeschlagen). Könnte man dies eventuel noch ändern oder tritt dieser fehler nicht mehr auf wenn Punkt 4 korrigiert wurde?
Danke schon mal für deine bisherige Hilfe und könntest du oder jemand anderes bei meinen Folgefragen zu dieser Userform helfen. Mit Hinweisen zu den einzelnen Punkten ob und wie es Ansatzweise funktioniert, würde mir für den Anfang schon geholfen sein. Ich denke das ichs dann (vielleicht auc nochmals mit eurer Hilfe) selber hinbekomme. Für den kompletten Code wär ich auch dankbar aber so lernt man ja nichts.
Nochmals tausend Dank der Code ist für einen Nicht-VBA-Profi besser geeignet, obwohl der Code von Luc auch nicht schlecht war. Zm Schocken von meinem Chef wäre er bestens geeignet.
Tschau Jessica
Anzeige
frage vergessen auf noch offen zu stellen o.T
11.01.2006 09:24:33
Jessica
;-)
AW: Code umschreiben
12.01.2006 11:34:46
Eugen
hi
könntest du die datei, die ich dir geschickt habe,
nochmal hochladen ? ich find in meinem verhau gar nichts mehr..
und hat das ganze zeit bis montag, um deinen chef zu schocken ?
ich komm erst am wochenende dazu ...
mfg
AW: Code umschreiben
12.01.2006 17:37:33
Jessica
Hallo hab das meiste schon davon selber hinbekommen.
Es wäre nur noch drittens offen: in das Verzeichniss wechseln, welches ich mit einer InputBox eingeben lass. Die Inputbox soll durch eine Tastenkombination angezeigt werden. Welche ist mir egal, da nur ich diese wissen müsste. (Inputbox hab ich auch noch nicht da ich nicht genau weiß wie ich die Varible am besten deklarie).
Wenn ich bei der UserForm eine Dateinamen mit dem entsprechenden Pfad angebe, spring er ja gleich in das Verzeichnis. Dies soll nach Möglichkeit auch beibehalten werden.
Wenn es nicht geht ist auch nicht so schlimm, so wie es jetzt läuft bin ich schonmal zufrieden. Könntestes du dir gleich meine Änderungen anschauen obs so inordnnung ist, oder obs eine bessere Lösung gibt, aber nur wenn du Zeit und Lust hast.
Könntest du bitte deine Variablen daklarien, da ich das "Option Explicit" sonst bei deinem Code rausnehmen muss.
Ich poste dir mal meine Datei (als Beispiel mit der Userform von dir): https://www.herber.de/bbs/user/29973.xls
Danke für deine hilfe, hät nicht gedacht das es so einfach geht abzufragen ob eine Datei schon existiert.
Jessica
PS: es hat natürlich noch zeit bis nächste Woche. Nochmals kurze Nachricht ob du dich am wochen ende damit beschäftigs wäre nicht schlecht.
PPS: Wenn die Datei Bewertungsübersicht bereits geöffnet ist, geht er in den ErrorHandler. Abfrage ob Datei geöffnet ist wäre nicht schlecht. Muss ich mir aber noch gedanken drüber machen.
Anzeige
AW: Code umschreiben
13.01.2006 07:39:26
Eugen
hi jess
klar schau ich mir das teil mal an.
bis montag
mfg
AW: Code umschreiben
13.01.2006 08:16:36
Eugen
hi
schaut gut aus
zu pps von dir
Sub Aktualisierung(Pfad As String, WBName As String, Sheet As String)
Dim bAlreadyOpen As Boolean
On Error Resume Next
Dim z2 As Long, letzte As String
Dim i As Long
bAlreadyOpen = False
' Werte aus Tabelle 1 mit Pfad vergleichen
letzte = Range("C65536").End(xlUp).Address
If Dir(ThisWorkbook.Path & "\Bewertungsübersicht.xls") = "" Then
MsgBox "Die Datei 'Bewertungübersicht.xls' befindet sich nicht in dem selben Ordner, wie die auszuführende Datei!" & Chr(10) & _
"Bitte legen Sie eine Datei mit dem Namen 'Bewertungsübersicht.xls' im selben Verzeichnis an."
Exit Sub
End If
For i = 1 To Workbooks.Count
If UCase(Workbooks(i).Name) = "BEWERTUNGSÜBERSICHT.XLS" Then
bAlreadyOpen = True
Exit For
End If
Next i
If Not bAlreadyOpen Then
Workbooks.Open Filename:=ThisWorkbook.Path & "\Bewertungsübersicht.xls"
End If
dann passiert das nicht mehr mit dem error handler
mfg
Anzeige
AW: Code umschreiben
13.01.2006 08:45:35
Jessica
Hallo
Falls der Thread dann schon geschlossen sein sollte, mach ich am Montag einen neuen auf.
Betreff @Eugen - Codekorrektur.
Danke für die hilfe mit der geöffneten Datei. Funktioniert prima.
Jessica

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige