Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA: Besondere Anforderungen beim Öffnen/Speichern

VBA: Besondere Anforderungen beim Öffnen/Speichern
30.07.2007 23:32:00
Hans
Hi zusammen. Ich habe von VBA extrem wenig bis keine Ahnung und lese mich bereits den halben Abend durch verschiedene Posts zu meinem Anliegen, leider bis jetzt ohne "das richtige" gefunden zu haben. Ich suche eine meiner Meinung nach komplexe Kombination verschiedener Anforderungen. Hier Näheres:
Situation: Ich habe die Datei "Start" welche verschiedene Makros enthält. Jedes hier gespeicherte Makro öffnet eine Datenbank, liest sie zusammen und speichert neu ab. Hab ich soweit über die Rekorder-Funktion alles zusammengebastelt.
Problem: Die Datenbank und Die Start-Datei liegt auf einem Teamlaufwerk (immer unterschiedlicher Partitions-Name je nach Benutzer) und die gespeicherte Datei soll lokal liegen. Außerdem will ich vermeiden, dass die Benutzer die Daten falsch archivieren.
Folgende Einschränkungen würde ich gerne umsetzten:
Öffnen: Es öffnet sich das Excel "Datei-Öffnen"-Feld. Jedoch nur wenn eine Datei namens "Datenbank.xls" ausgewählt wird, läuft das Makro weiter. Bei Abbruch oder anderer Auswahl soll der Hinweis auftauchen: Bitte Datenbank.xls auswählen und das ganze von vorne.
Speichern: Es öffnet sich das Excel "Datei-Speichern unter"-Feld und schlägt folgenden Namen vor "aktuellesDatum_ZellinhaltA1". Der BEnutzer soll den Speicherort bestimmen. Wird jedoch versucht das Speichern abzubrechen oder den Namen zu ändern, so soll durch einen Loop immerwieder ein Feld erscheinen: Bitte Speicherort für "aktuellesDatum_ZellinhaltA1" wählen.
Ich bin gespannt auf eure Vorschläge (wie gesagt ich habe nahezu NULL VBA Wissen)... und bedanke mich bereits jetzt!!!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Besondere Anforderungen beim Öffnen/Speichern
31.07.2007 00:12:23
Daniel
Hi
also mit Null-Wissen in VBA wird natürlich schwierig, so ein Projekt erfolgreich durch zu ziehen.
wie sehen den sonst die Programmierkenntnisse bei dir aus (Schleifen, Variablen, Variablentypen, Kontrollstrukturen in Programmen), weil alles von Anfang an hier im Forum zu erklären ist ein bischen aufwendig.
das Öffnen zumindest könnte man so lösen:

Sub Datei_einlesen()
Dim Datei_Name As String
Do
Datei_Name = ""
Datei_Name = Application.GetOpenFilename("Excelfiles, *.xls", MultiSelect:=False)
If Datei_Name = "Falsch" Then Exit Sub
If Right(Datei_Name, Len(Datei_Name) - InStrRev(Datei_Name, "\")) = "Datenbank.xls" Then  _
Exit Do
MsgBox ("Sie haben die falsche Datenbank ausgewählt, bitte nochmal auswählen oder abbrechen" _
)
Loop
Workbooks.Open Datei_Name
End Sub


gruß, Daniel

Anzeige
AW: VBA: Besondere Anforderungen beim Öffnen/Speichern
31.07.2007 10:04:10
Hans
Moin Daniel!
SUUPPEER. Funzt astrein und ist genau das was ich mir fürs Öffnen vorgestellt habe. -DANKE!
Bzgl. meiner VBA Kenntnisse: "Rumfrickeln" mit dem Rekorder, nachlesen in diversen Foren und dementsprechend meilenweit weg davon die ZUsammenhänge richtig zu erkennen.
Auch sonsitge Programmierkenntnisse (Schleifen, Variablen, Variablentypen, Kontrollstrukturen in Programmen) nciht vorhanden...,
aber vielleicht hast du eine ähnlich elegante Lösung fürs "Speichern". Idee meinerseits: Vielleicht hilft es ja, das aktuelle Datum z.B. in Zelle A2 anzuzeigen, dann müsste der Speichername sich lediglich auf 2 Zellinhalte beziehen und hätte nicht mehr das Formatproblem---
Aber auch hier habe ich keine Ahnung wie ich verhindern kann, dass der Speihername geändert wird. Auch ein Ablehnen des Speicherns zu verhindern wäre toll.
Also:
-Speichern unter: Name: [Zellinhalt A1;a2]
Bei Änderung des Namens oder versuchtem Abbruch ersheint Msg.: "Bitte wählen Sie einen Speicherort für die durchgeführte Analyse"
DANKE!

Anzeige
AW: VBA: Besondere Anforderungen beim Öffnen/Speichern
31.07.2007 11:46:37
Rudi
Hallo,

immer unterschiedlicher Partitions-Name je nach Benutzer


benutze einfach den UNC-Namen der Partition, ohne Öffnen-Dialog.
Workbooks.open "\\Server\Partition\datenbank.xls"
Speichern: gib dem Benutzer nur die Möglichkeit einen Ordner zu wählen.


Sub speichern()
Dim strFolder As String
With Application.FileDialog(4)
.InitialFileName = "C:\"
.InitialView = 2
If .Show = -1 Then
strFolder = .SelectedItems(1)
MsgBox strFolder
ActiveWorkbook.SaveAs _
strFolder & "\²" & Format(Date, "YYMMDD") & "_" & Range("A1") & ".xls"
End If
End With
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: VBA: Besondere Anforderungen beim Öffnen/Speichern
31.07.2007 12:14:00
Hans
Danke Rudi, das Einfügen und Anpassen hat wunderbar geklappt.
Einziges Problem:
Der Benutzer kann das Speichern der Datei abbrechen. Somit befindet er sich in der Originaldatei wieder die durch ein anderes Makro verändert wurde und kann dort Schaden anrichten.
Ich benötige also einen Loop der den Benutzer daran hindert sich vor dem Speichern zu drücken.
Any ideas?

AW: VBA: Besondere Anforderungen beim Öffnen/Speichern
31.07.2007 12:46:00
Rudi
Hallo,
dann öffne die Originaldatei schreibgeschützt.
Workbooks.open "\\Server\Partition\datenbank.xls"
Workbooks("datenbank.xls").readonly=true
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: VBA: Besondere Anforderungen beim Öffnen/Speichern
31.07.2007 13:35:55
Hans
Ok, der Weg ist mir klar.
Aber gibt es keine Möglichkeit per Loop ein Abbruch des Speicherns zu verhindern. Analog zu dem Vorschlag bzgl. des Öffnens?
Gruß,
Hans

AW: VBA: Besondere Anforderungen beim Öffnen/Speichern
31.07.2007 13:55:47
Rudi
Hallo,

Sub speichern()
Dim strFolder As String
With Application.FileDialog(4)
.InitialFileName = "C:\"
.InitialView = 2
Do
If .Show = -1 Then
strFolder = .SelectedItems(1)
ActiveWorkbook.SaveAs _
strFolder & "\" & Format(Date, "YYMMDD") & "_" & Range("A1") & ".xls"
End If
Loop While strFolder = ""
End With
End Sub


Das schützt aber nicht vor Strg+Untbr
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: VBA: Besondere Anforderungen beim Öffnen/Speichern
31.07.2007 14:55:03
Hans
Danke Rudi,
allerdings eine letzte Frage:
Für was steht das InitialView =2
DANKE vielmals für die Tips.

AW: VBA: Besondere Anforderungen beim Öffnen/Speichern
31.07.2007 15:42:39
Rudi
Hallo,
entspricht Ansicht-Details
Für Liste auf 1 setzen.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige