Blockade bei "Speichern unter.."
#1
Big Grin 
Hallo liebe Community,

ich glaub ich habe eine kleine Blockade :19: und bitte um kleine Hilfe. Blush

Zu meinem Project:

Ich habe eine Excel Tabelle erstellt mit welcher ich meine Außlandsspesen notieren kann.

mittlerweile habe ich die Excel Datei so konfiguriert, das wenn ich im Ersten Arbeitsblatt unter A1 das Jahr eingebe, dieses dann als benennung das unter A1 eingegebene aktuelle Jahr erhält.
Da ich Jedes Jahr eine neue Tabelle mit neuen Aktuellen Spesensätzen erstelle, möchte ich das meine "Grundspesenmappe" so "nackt" erhalten bleibt.
Dazu habe ich ein Makro welches ich mit der Commandbox aktiviere und mir dann diese Mappe mit dem Namen des ersten Tabellenblattes unter angabe eines Speicherortes abspeichert.

Soweit ist alles noch iO

nun möchte ich aber das die Excelmappe in dem selben Pfad wo auch die Grundspesenmappe steht gespeichert wird. Klar könnte ich nun den den Pfad im VBA angeben, aber ich möchte diese Mappe auch meinen Kollegen zu verfügung stellen und diese haben die Mappe aber in anderen pfaden abgelegt wie ich es habe.

Genau da liegt der Hund begraben. Irgendwie bekomme ich das nicht hin.

Ich Bitte um eure Hilfe und danke euch im vorraus.

Gruß Xalus


Code:
Private Sub CommandButton1_Click()
Dim lw_pfad As String
lw_pfad = InputBox("Geben Sie hier das Laufwerk und den Pfad an, wo die Datei gespeichert werden soll." & Chr(13) & Chr(13) & "(Ihre Eingabe wird in X1 als neuer Default-Wert gespeichert.)", "Datei speichern unter...", lw_pfad)
If lw_pfad = "" Then
  MsgBox "Die Datei wird nicht gespeichert, da Sie [Abbrechen] gedrückt oder nichts eingegeben haben.", , "Abbruch"
  Exit Sub
Else
  If Right(lw_pfad, 1) <> "\" Then lw_pfad = lw_pfad & "\"
  Rem MsgBox lw_pfad
ActiveWorkbook.SaveAs lw_pfad & ActiveSheet.Range("A1").Value & ActiveSheet.Range("B2").Value & ".xlsm"
MsgBox "Die Datei wurde unter " & lw_pfad & ActiveSheet.Range("A1").Value & ActiveSheet.Range("B2").Value & ".xlsm gespeichert.", , "OK"
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
On Error Resume Next
ActiveSheet.Name = Range("A1")
End If
End Sub


Angehängte Dateien
.xlsm   ##Spesen 20xx.xlsm (Größe: 38,49 KB / Downloads: 1)
Top
#2
Hallo,

so?
Code:
Private Sub CommandButton1_Click()
Dim lw_pfad As String
lw_pfad = ThisWorkbook.Path
If Right(lw_pfad, 1) <> "\" Then lw_pfad = lw_pfad & "\"
ActiveWorkbook.SaveAs lw_pfad & ActiveSheet.Range("A1").Value & ActiveSheet.Range("B2").Value & ".xlsm"

Gruß Werner
[-] Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:
  • Xalus43
Top
#3
(01.06.2019, 15:07)Xalus43 schrieb: Da ich Jedes Jahr eine neue Tabelle mit neuen Aktuellen Spesensätzen erstelle, möchte ich das meine "Grundspesenmappe" so "nackt" erhalten bleibt.
Moin!
Exakt für so etwas hat Excel den Dateityp Vorlage (.xltm oder .xltx) vorgesehen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
Guten Morgen.


@Werner:

vielen Dank,so ist das schon sehr sehr gut.

Ich dachte eigentlich eher das wenn ich meine commandbox anklicke , im Feld der Pfadangabe, den Aktuellen Pfad vorgeschlagen bekomme den ich einfach bestätigen kann oder ändern wenn ich doch in einem anderen Pfad speichern möchte.

Trotzdem vielen Dank für deine schnelle Hilfe.

Gruß Xalus
Top
#5
Hallo,

so:

Code:
lw_pfad = ThisWorkbook.Path
lw_pfad = InputBox("Geben Sie hier das Laufwerk und den Pfad an, wo die Datei gespeichert werden soll." & Chr(13) & Chr(13) _
& "(Ihre Eingabe wird in X1 als neuer Default-Wert gespeichert.)", "Datei speichern unter...", lw_pfad)


Gruß Werner
[-] Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:
  • Xalus43
Top
#6
@Xalus: Wieso ignorierst du Ralfs Hinweis? Du erfindest grade das Rad neu.
Schöne Grüße
Berni
Top
#7
@ MisterBurns,

klar geht das was Ralf geschrieben hat. Ich habe es auch so auf meinem Rechner eingestellt das die Vorlage.xltm beim Speichern als .xlsm gespeichert wird.
Ich will die Exceltabelle aber für meine Arbeitskollegen so einfach wie möglich halten da es bei und halt viele Officelegastheniker gibt.

Ich hatte anfangs die Tabelle einfach nur für mich gemacht um den Überblick auf den Montagen zu behalten.
Diese war in den Anfängen auch recht einfach gehalten.
Als meine Kollegen das gesehen haben und auch eine wollten, kamen nach und nach einige features dazu, da ;wie oben erwähnt" nicht alle mit Officeanwendungen umgehen können.

Sie sollen einfach auf dem 1. Sheet das Aktuelle Jahr eingeben (somit wird dieses auch so benannt) und auf dem 2.sheet dann das Land wo sie sich befinden(somit die Spesen dieses Landes in die vorgesehenen Spalten eingefügt). Dann auf Speichern drücken und sie haben eine ExcelTabelle mit akuellem Jahresdatum als Dateiname und die Vorlage soll einfach "Nackt" erhalten bleiben.



Gruß Xalus43
Top
#8
Hallo,

Zitat:Ich will die Exceltabelle aber für meine Arbeitskollegen so einfach wie möglich halten da es bei und halt viele Officelegastheniker gibt.

... schnick schnack, ... der von Ralf gezeigte Weg ist der einfachste Weg überhaupt.
Es sei denn, es handelt sich um Leute, die beim Einschalten des Rechners schon
Schwierigkeiten bekommen.
Top
#9
@ Käpt'n Blaubär

Zitat:Es sei denn, es handelt sich um Leute, die beim Einschalten des Rechners schon

Schwierigkeiten bekommen


genau so sieht es aus.

Gruß Xalus
Top
#10
Hallo,

Zitat:
Zitat: schrieb:Es sei denn, es handelt sich um Leute, die beim Einschalten des Rechners schon
Schwierigkeiten bekommen

genau so sieht es aus.

... dann schicke sie in Rente. Jedenfalls, eine einfachere als die hier vorgestellte Variante
wird Du schwerlich finden können.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste