Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

VBA neuer Name beim speichern, nicht überschreiben





Frage

Hallo! Ich brauche Eure Hilfe. Mein Problem: Ich möchte per VBA auf Stick bestimmte Daten haben. natürlich überschreibt er mir jedes mal, da es ja der gleiche Name ist. Ich will das nicht und möchte im per VBA den Befehl geben, dass er mir einen neuen Namen eingibt oder den alten Namen umschreibt. Ich habe Office 97. Für Eure Antworten danke ich Euch jetzt schon. so sieht es bisher aus: Sub USBspeichern() ´ ´ USBspeichern Makro ´ Makro am 17.03.2005 von WE7015 aufgezeichnet ´ Sheets("Leer").Select Application.ScreenUpdating = False Sheets("Auswertung").Copy ChDir "B:\" ActiveWorkbook.SaveAs Filename:="B:\Daten.xls", _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close Sheets("Maske").Select Application.ScreenUpdating = True End Sub Mir geht es um den Namen Daten. Vielleicht durch anhängen einer 1,2,3 u.s.w. oder ähnliches.

Antwort 1 von Saarbauer

Hallo,

wie das mit dem Speichern geht kann ich dir zwar nicht sagen, da ich es noch nicht benötigt habe, aber ein Vorschlag zu abspeichern möchte ich dir machen.

Speichere deite Daten mit dem Tagesdatum ab, denn dann hast du keine Probleme mit der Nummerierung.
Das Tagesdatum würde ich in der Form nutzen JahrMonatTag, falls erforderlich noch die Uhrzeit dranhängen. Damit ist jede Datei eindeutig und jederzeit wiederzufinden.

Gruß

Helmut

Antwort 2 von martl

Hallo,

also, wenn Du das mit dem Datum, wie von Helmut beschrieben machen möchtest, dann hätte ich Dir folgenden Vorschlag:

Sub USBspeichern()

´ USBspeichern Makro
´ Makro am 17.03.2005 von WE7015 aufgezeichnet
Dim Datum, Tag, Monat, Jahr As String
Dim Uhrzeit As Date

Tag = Format(Day(Date), "00")
Monat = Format(Month(Date), "00")
Jahr = Format(Year(Date), "0000")
Uhrzeit = Format((Time), "hh:mm:ss")
Datum = Jahr & Monat & Tag & " " & Uhrzeit & " "
´Dateiname = InputBox("Bitte geben Sie einen Dateinamen ein:", "Datei speichern", "Daten.xls")
Dateiname = Datum & "Daten.xls"
Sheets("Leer").Select
Application.ScreenUpdating = False
Sheets("Auswertung").Copy
ChDir "C:\"
ActiveWorkbook.SaveAs Filename:="C:\VBATest\" & Dateiname, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
Sheets("Maske").Select
Application.ScreenUpdating = True

End Sub

Du kannst auch die Variante mit der Abfrage verwenden, dann musst Du nur das ´ vor der Zeile ´Dateiname = InputBox("Bitte geben Sie einen Dateinamen ein:", "Datei speichern", "Daten.xls") entfernen und in der nächsten Zeile dafür vorne einfügen.

Viele Grüße und viel Erfolg
martl

Antwort 3 von martl

Hi,

der Laufwerksbuchstabe und der Speicherort wurden von mir zum Testen geändert - nicht wundern wenns daher nicht gleich funktioniert.. ;) - der Richtigkeit halber:

ChDir "B:\"
ActiveWorkbook.SaveAs Filename:="B:\" & Dateiname, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

Grüßle
Martin

Antwort 4 von Völdi

Hallo Helmut!
Hallo Martin!

Vielen Dank für Eure Hilfe, Ihr habt mir sehr geholfen

Gruß

Völdi

Antwort 5 von Mr.Fry

Hallo Leute,

ich hab nun folgendes Problem. Ich hab mir hier eine (wohlwissend NICHT funktionsfähige ;)) Schleife, kann mir jemand sagen wie ich die Variable "Name" als Dateinamen benutzen kann?


For n = 1 To 30
   n = String(3 - Len(n), "0") & n
   Name = n & "dat-TCD - Channel A.esd"
   ActiveCell.FormulaR1C1 = "=´001dat-TCD - Channel A.esd´!R9C4"
    Range("C4").Select
    
Next


Wie gesagt, ich arbeite zum ersten Mal mit Makros und hab sonst auch nur minimalste Programmierkenntnisse..

Ich möchte dass er statt ´001dat-TCD - Channel A.esd´ die oben deklarierte Variable "Name" nimmt, also er dort immer den Dateinamen der Schleife nimmt. Wie baut man die Variable ein? Ich konnte leider in der Hilfe nix finden :-/

Ich hoffe ihr könnt mir weiterhelfen!

Danke, Gruß

Antwort 6 von Mr.Fry

Sorry, falscher Thread *rotwerd*

https://supportnet.de/threads/1173582

Da sollte das rein, ist es nu auch ;)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: