Anzeige
Archiv - Navigation
1912to1916
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
Inhaltsverzeichnis

Geöffnete Datei schließen, umbenennen un

Geöffnete Datei schließen, umbenennen un
06.01.2023 22:55:12
Uwe
Franz (fcs), der leider verstorben ist, hat mir vor 2 Jahren geholfen fmc-Dateien von einer neueren Version in eine ältere Version umzuwandeln, so dass ich mit diesen Daten auf meiner alten CNC arbeiten kann. Dort brauchte ich nur einen Schalter in der Excel-Datei betätigen, der Explorer hat sich dann geöffnet und nach anklicken der gewünschten Datei im Explorer wurde diese geöffnet, die Daten wurden in die Excel Datei eingelesen, nach meinen Angaben geändert, wieder in eine fmc –Datei eingelesen und der Dateiname wurde geändert.
Das hat mich zur Idee inspiriert auf ähnliche Weise Dateien zu archivieren. Das ist sicherlich nicht so komplex wie die eben beschriebene Umwandlung. Ich weiß aber nicht, ob es überhaupt mit verschiedenen Dateitypen in einer Anwendung funktioniert.
Für mich als Holzwurm sind die VBA Funktionen noch böhmische Wälder. Wenn ich 20 Jahre jünger wäre, würde ich noch mal die Schulbank drücken.
Ich würde mich sehr freuen, wenn mir einer von euch hierbei helfen könnte.
https://www.herber.de/bbs/user/157129.xlsm

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Geöffnete Datei schließen, umbenennen un
07.01.2023 14:03:52
Piet
Hallo Uwe
den vorherigen thread kann man schliessen, sie sind ja gleich.
Leider kann ich dir nicht helfen, denn ich habe nur einen alten Laptop mit XP und Excel 2003 zur Verfügung. der kann dein Beispiel nicht öffen! LibreOffice5 speichert mir die ComboBoxen als Bild..
Vielleicht geht ja ein Kollege an den Thread heran und hilft dir weiter. Würde mich sehr freuen!
Ansonsten lade mir bitte eine alte Excel 2003 xls Datei hoch, vielelcht kann ich dir dann helfen.
mfg Piet
AW: Geöffnete Datei schließen, umbenennen un
07.01.2023 14:20:19
Uwe
Hallo Piet,
danke für deine Bereitschaft. Ich habe die Datei umgewandelt und es wird wohl bloß das Tabellenformat nicht richtig erkannt. Sonst funktioniert wohl alles.
Gruß
Uwe
https://www.herber.de/bbs/user/157139.xls
Anzeige
AW: Geöffnete Datei schließen, umbenennen un
08.01.2023 18:33:36
Piet
Hallo Uwe
hier mal mein erster Lösungs Entwurf , ich weiss nicht ob alles so klappt wie du es wünschst?
Ein Problem habe ich mit dem Befehl OLEObject, der klappte bei mir nicht. Liegt das an XP?
Ich nahm den alten Befehl DrawingObjects. damit klappt es den Speicher Button zu sperren!
Im Tabelle3 Makro habe ich einiges geaendert, weil ich deine arry Version nicht verstanden habe.
Schau mal ob es mit meiner simpel Version einwandfrei funktioniert. Vielleicht sind noch Fragen offen?
Viel Spass beim testen, leider in der alten xls Version. Aber das wird dich sicher nicht stören.
Bin gespannt auf deine Rückmeldung https://www.herber.de/bbs/user/157148.xls
mfg Piet
Grüsse aus Ankara an die Heimat
Anzeige
AW: Geöffnete Datei schließen, umbenennen un
08.01.2023 20:00:31
Piet
Nachtrag
mit Intersect Eingaben im Bereich C3:C9 festellen klappte auch nicht. Habe "Speichern sperren" im Tabelle3 Makro gelöst.
Das Laufwerk zum Testen musste ich auf C:\ setzen, ich habe kein D Laufwerk..
AW: Geöffnete Datei schließen, umbenennen un
08.01.2023 21:13:16
Uwe
Hallo Piet,
danke, das Prinzip funktioniert schon. Ich möchte aber gerne nicht nur Excel-Dateien sondern auch PDF, Word und Jpg-Dateien umbenennen und verschieben. Die Ursprungsdatei im Ordner neu soll dann gelöscht werden. Im Dateinamen soll nur der neue Name erscheinen, weil die Namen sonst sehr lang werden können.
Optimal wäre es, wenn die Datei sich direkt in der Exceloberfläche öffnen lassen würde oder darüber bzw. neben der Excelseite.
Gruß
Uwe
Anzeige
AW: Geöffnete Datei schließen, umbenennen un
09.01.2023 10:35:01
Piet
Hallo Uwe
um Dateien wie PDF und Bilder umzubenennen braucht man sie nicht zu öffnen, das geht auch direkt.
Leider ist mein Medion Laptop defekt, und der alte XP Laptop vom Nachbarn kann seine SSD Disk nicht auslesen.
Auf dieser Festplatte habe ich Programme zum Dateien umbenennen und in einen anderen Ordner zu verschieben.
Im Internet findest du solche Programme, dort habe ich sie auch heruntergeladen.
Mehr kann ich dir zur Zeit leider nicht helfen! Sorry ....
mfg Piet
AW: Geöffnete Datei schließen, umbenennen un
09.01.2023 13:34:41
Uwe
Hallo Piet,
ich weiß, dass man die Dateien auch direkt umbenennen kann. Ich wollte aber sämtliche Dateien aus dem Ordner Neue Dateien, egal welches Format, von einer Oberfläche nach dem gleichen System umbenennen und verschieben. Kurz öffnen will ich die Dateien, nur um den Inhalt zu sehen, um so die passenden Suchbegriffe in den Dateinamen eingeben zu können.
Gruß
Uwe
Anzeige
AW: Geöffnete Datei schließen, umbenennen un
09.01.2023 18:17:32
Piet
Hallo Uwe
da sehe ich kein grosses Problem, im Speichern Makro bastele ich den neuen Datei Namen zusammen.
Mein Tipp ist in der Formel Q1 den Text "TT.MM.JJ" weglassen, und das Datum direkt aus Zelle P1 holen. Da sind aber auch noch Zahlen von 2 bis 7 mit "_". Soll das alles mit hinein, oder ein "_" nur erscheinen wenn in Zelle C9 eine Anmerkung vorliegt? Den Text kann ich auch per Makro holen.
Ich müsste nur wissen wie dein Dateiname zum Schluss in der Praxis aussehen soll. Das können wir im Makro noch realisieren.
mfg Piet
AW: Geöffnete Datei schließen, umbenennen un
09.01.2023 20:09:04
Uwe
Hallo Piet,
das Datum kann natürlich direkt von P1 geholt werden. Es wäre natürlich noch besser, wenn man auf die Gänsefüßchen, die Leerzeichen und auch auf die Zahlen der nicht benutzten Suchbegriffzeilen verzichten kann. Ich habe das Zusammenfassen bloß nicht besser hinbekommen.
Bsp. : 9.1.23 1Rechnung_3Hansaholz_6Holz_7Eiche.pdf (dies ist dann schon ein langer Dateiname)
Gruß
Uwe
Anzeige
AW: Geöffnete Datei schließen, umbenennen un
10.01.2023 11:50:46
Piet
Hallo Uwe
schau bitte mal ob dieser Speichern Code deinen neuen Dateinamen optimal erfüllt.
Ich hole den NeuTxt mit For Next aus der Zeile1 in Tabellen, ebenso Datum und Notiz C9
Die Variablen Datum, NeuTxt und Notiz kannst du jetzt beliebig selbst kombinieren.
Ich hoffe das entspricht deinen Wünschen. Würde mich freuen, waere ein guter Abschluss!
mfg Piet
  • 'Button: Speichern
    
    Sub Schaltfläche26_Klicken()
    Dim Datum As Variant, Idx As Integer, Notiz As String
    Dim Datei As String, NeuDatei As String, ok As Variant
    Dim Archiv As String, NeuTxt As String, DTyp As String
    If Workbooks.Count = 1 Then MsgBox "Keine neue Datei geöffnet", vbInformation: Exit Sub
    With ThisWorkbook.Worksheets("Tabellen")
    Datei = Workbooks(2).Name  'göffnete Datei (nicht aktiv!)
    If Datei = ThisWorkbook.Name Then Workbooks(1).Name
    Notiz = ThisWorkbook.Worksheets("Startseite").Range("C9")
    Datum = Format(.Range("P1"), "dd.mm.yy")
    'ComboBoxen Werte in Zeile 1 auslesen, mit Zahlen 1-6
    For i = 2 To 12 Step 2
    If .Cells(2, i)  "" Then
    NeuTxt = NeuTxt & "_" & .Cells(1, i - 1) & .Cells(2, i)
    End If
    Next i
    'Archivpfad laden, "_" Vorspann abschneiden
    Archiv = .Range("Q5"): NeuTxt = Mid(NeuTxt, 2)
    End With
    'String für neuen Dateinamen bilden
    DTyp = Mid(Datei, InStrRev(Datei, ".") + 1)       'Endung xls
    NeuDatei = Left(Datei, InStrRev(Datei, ".") - 1)  'Cut Endung
    If Notiz  "" Then Notiz = "_" & 7 & Notiz       'Zahl 7 setzen
    '** hier kannst du den neuen Dateinamen beliebig zusammenbasteln
    NeuDatei = Datum & " " & NeuTxt & Notiz & "." & DTyp   'neuer Dateiname
    ok = MsgBox(NeuDatei & vbLf & "Neue Datei im Archiv speichern?", vbYesNo)
    On Error GoTo Fehler  'neue Datei in Archiv speichern
    If ok = vbYes Then Workbooks(Datei).SaveAs Archiv & NeuDatei
    Workbooks(NeuDatei).Close savechanges:=False  'Datei schliessen
    Call Alle_Comboboxen_löschen
    Exit Sub
    Fehler:  MsgBox NeuDatei & "  Fehler beim schliessen"
    End Sub
    

  • Anzeige
    AW: Geöffnete Datei schließen, umbenennen un
    10.01.2023 14:37:37
    Uwe
    Hallo Piet,
    ich habe im Modul1 den 1.Bereich Butten Speichern mit dem neuen Code ersetzt. Beim Betätigen des Schalters Neue Dateien werden aber nach wie vor nur xls-Dateien angezeigt und beim Speichern nach Eingabe der Suchbegriffe bekomme ich die Anzeige: Fehler beim Komplilieren, unnzulässige Verwendung einer Eigenschaft und es öffnet sich Modul1 und in der 7.Zeile am Ende wird .Name blau hinterlegt.
    Gruß
    Uwe
    AW: Geöffnete Datei schließen, umbenennen un
    11.01.2023 16:57:30
    Piet
    Hallo Uwe
    Sorry, ein Schreibfehler von mir. Korrigiere ihn bitte:
    If Datei = ThisWorkbook.Name Then Datei = Workbooks(1).Name
    mfg Piet
    Anzeige
    AW: Geöffnete Datei schließen, umbenennen un
    11.01.2023 19:36:35
    Uwe
    Hallo Piet,
    es funktioniert immer noch nicht. Wieder kommt Fehler beim Kompilieren jetzt mit „Variable nicht definiert“. Es werden auch immer noch nur xls-Dateien angezeigt.
    Gruß
    Uwe
    AW: Geöffnete Datei schließen, umbenennen un
    12.01.2023 18:42:46
    Piet
    Hallo Uwe
    wechsele bitte im Modul1 den kompletten Code aus. In meiner Excel 2003 Testdatei klappt es damit.
    Sollte immer noch eine Variable angemeckert werden schau bitte mal wo der Cursor steht, wei sie heisst.
    Dann füge sie oben unter Option Explicit einfach mal mit Dim xxxx as Variant ein.
    mfg Piet
  • Option Explicit ' -
    'Button: Speichern
    
    Sub Schaltfläche26_Klicken()
    Dim Datum As Variant, i As Integer, Notiz As String
    Dim Datei As String, NeuDatei As String, ok As Variant
    Dim Archiv As String, NeuTxt As String, DTyp As String
    If Workbooks.Count = 1 Then MsgBox "Keine neue Datei geöffnet", vbInformation: Exit Sub
    With ThisWorkbook.Worksheets("Tabellen")
    Datei = Workbooks(2).Name  'göffnete Datei (nicht aktiv!)
    If Datei = ThisWorkbook.Name Then Datei = Workbooks(1).Name
    Notiz = ThisWorkbook.Worksheets("Startseite").Range("C9")
    Datum = Format(.Range("P1"), "dd.mm.yy")
    'ComboBoxen Werte in Zeile 1 auslesen, mit Zahlen 1-6
    For i = 2 To 12 Step 2
    If .Cells(1, i)  "" Then
    NeuTxt = NeuTxt & "_" & .Cells(1, i - 1) & .Cells(1, i)
    End If
    Next i
    'Archivpfad laden, "_" Vorspann abschneiden
    Archiv = .Range("Q5"): NeuTxt = Mid(NeuTxt, 2)
    End With
    'String für neuen Dateinamen bilden
    DTyp = Mid(Datei, InStrRev(Datei, ".") + 1)       'Endung xls
    NeuDatei = Left(Datei, InStrRev(Datei, ".") - 1)  'Cut Endung
    If Notiz  "" Then Notiz = "_" & 7 & Notiz       'Zahl 7 setzen
    '** hier kannst du den neuen Dateinamen beliebig zusammenbasteln
    NeuDatei = Datum & " " & NeuTxt & Notiz & "." & DTyp   'neuer Dateiname
    ok = MsgBox(NeuDatei & vbLf & "Neue Datei im Archiv speichern?", vbYesNo)
    On Error GoTo Fehler  'neue Datei in Archiv speichern
    If ok = vbYes Then Workbooks(Datei).SaveAs Archiv & NeuDatei
    Workbooks(NeuDatei).Close savechanges:=False  'Datei schliessen
    Call Alle_Comboboxen_löschen
    Exit Sub
    Fehler:  MsgBox NeuDatei & "  Fehler beim schliessen"
    End Sub
    
    
    Sub Ordner_Öffnen()  'File Dialog öffnen
    Dim strDatei As String, FD As Object
    Dim Pfad As String, NeuPfad As String
    If Workbooks.Count > 1 Then MsgBox "Es ist bereits eine neue Datei geöffnet": Exit Sub
    Set FD = Application.FileDialog(msoFileDialogFilePicker)
    NeuPfad = Tabelle4.Range("Q3").Value
    With FD  'File Dialog aus dem Internet  (angepasst)
    .Filters.Clear
    .Filters.Add "Alle-Dateien", "*.*", 1
    .Title = "Eine Datei auswählen"
    .AllowMultiSelect = False
    Pfad = Left(NeuPfad, Len(NeuPfad) - 1)
    .InitialFileName = Pfad  'Öffnen Pfad
    On Error GoTo Fehler
    If .Show = True Then
    strDatei = .SelectedItems(1)
    Workbooks.Open strDatei
    ThisWorkbook.Activate
    Call Alle_CommanButton_einblenden
    '** OLEObjects klappt bei mir nicht (XP ?)
    Tabelle3.DrawingObjects("Button 26").Enabled = True
    End If
    End With
    Exit Sub
    Fehler:   MsgBox strDatei & "  Öffnen Fehler!"
    End Sub
    

  • Anzeige
    AW: offen stellen vergessen oWt
    12.01.2023 18:46:04
    Piet
    AW: offen stellen vergessen oWt
    12.01.2023 20:29:36
    Uwe
    Hallo Piet,
    jetzt funktioniert es schon fast so, wie ich mir das vorgestellt habe.
    Die Dateinamen sind so sehr gut. Erst einmal danke dafür.
    Es funktioniert mit PDF, mit xls, mit txt, mit jpg , selbst mit dxf und prt-Dateien. Bloß bei Word Dateien meckert das Programm.
    Die verschobenen Dateien im Ordner neu werden noch nicht gelöscht.
    Die Ergänzung der Tabellen durch Eingabe neuer Suchwerte und Speichern der Begriffe in der Tabelle durch den jeweiligen Schalter Neu funktioniert nicht mehr. Beim Betätigen eines der Schalter werden auch alle schon gesetzten Suchbegriffe zurückgesetzt.
    Gruß
    Uwe
    Anzeige
    AW: offen stellen vergessen oWt
    12.01.2023 23:53:42
    Piet
    Hallo Uws
    Den Code in der Tabelle Startseite hatte ich geaendert, das war offenbar ein Fehler.
    Tausche ihn bitte gegen diesen wiederhergestellten Code aus, und teste es damit.
    Für das löschen der Datei im Ordner neu schicke ich dir noch eine Aenderung.
    mfg Piet
  • Option Explicit 'Startseite neu
    Dim i As Integer
    
    Private Sub ComboBox1_Change()
    Call Speichern_aktivieren  'Button aktivieren!!
    With Tabelle4.ListObjects("Tabelle2").DataBodyRange
    For i = 1 To .Rows.Count
    If .Cells(i, 1) = ComboBox1 Then
    CommandButton1.Visible = False
    Exit Sub
    Else
    CommandButton1.Visible = True
    End If
    Next i
    End With
    End Sub
    
    
    Private Sub ComboBox2_Change()
    Call Speichern_aktivieren  'Button aktivieren!!
    With Tabelle4.ListObjects("Tabelle3").DataBodyRange
    For i = 1 To .Rows.Count
    If .Cells(i, 1) = ComboBox2 Then
    CommandButton2.Visible = False
    Exit Sub
    Else
    CommandButton2.Visible = True
    End If
    Next i
    End With
    End Sub
    
    
    Private Sub ComboBox3_Change()
    Call Speichern_aktivieren  'Button aktivieren!!
    With Tabelle4.ListObjects("Tabelle4").DataBodyRange
    For i = 1 To .Rows.Count
    If .Cells(i, 1) = ComboBox3 Then
    CommandButton3.Visible = False
    Exit Sub
    Else
    CommandButton3.Visible = True
    End If
    Next i
    End With
    End Sub
    
    
    Private Sub ComboBox4_Change()
    Call Speichern_aktivieren  'Button aktivieren!!
    With Tabelle4.ListObjects("Tabelle5").DataBodyRange
    For i = 1 To .Rows.Count
    If .Cells(i, 1) = ComboBox4 Then
    CommandButton4.Visible = False
    Exit Sub
    Else
    CommandButton4.Visible = True
    End If
    Next i
    End With
    End Sub
    
    
    Private Sub ComboBox5_Change()
    Call Speichern_aktivieren  'Button aktivieren!!
    With Tabelle4.ListObjects("Tabelle6").DataBodyRange
    For i = 1 To .Rows.Count
    If .Cells(i, 1) = ComboBox5 Then
    CommandButton5.Visible = False
    Exit Sub
    Else
    CommandButton5.Visible = True
    End If
    Next i
    End With
    End Sub
    
    
    Private Sub ComboBox6_Change()
    Call Speichern_aktivieren  'Button aktivieren!!
    With Tabelle4.ListObjects("Tabelle7").DataBodyRange
    For i = 1 To .Rows.Count
    If .Cells(i, 1) = ComboBox6 Then
    CommandButton6.Visible = False
    Exit Sub
    Else
    CommandButton6.Visible = True
    End If
    Next i
    End With
    End Sub
    
    
    Private Sub CommandButton1_Click()
    Dim i&, j&, iZeile&, arrList, arrTemp
    With Tabelle4.ListObjects("Tabelle2").DataBodyRange
    iZeile = .Rows.Count + 1
    .Cells(iZeile, 1) = ComboBox1
    End With
    With Tabelle4.ListObjects("Tabelle2").DataBodyRange
    arrList = .Value
    For i = 1 To iZeile - 1
    For j = i + 1 To iZeile
    If arrList(i, 1) > arrList(j, 1) Then
    arrTemp = arrList(j, 1)
    arrList(j, 1) = arrList(i, 1)
    arrList(i, 1) = arrTemp
    End If
    Next j
    Next i
    .Value = arrList
    End With
    Call Alle_Comboboxen_löschen
    End Sub
    
    
    Private Sub CommandButton2_Click()
    Dim i&, j&, iZeile&, arrList, arrTemp
    With Tabelle4.ListObjects("Tabelle3").DataBodyRange
    iZeile = .Rows.Count + 1
    .Cells(iZeile, 1) = ComboBox2
    End With
    With Tabelle4.ListObjects("Tabelle3").DataBodyRange
    arrList = .Value
    For i = 1 To iZeile - 1
    For j = i + 1 To iZeile
    If arrList(i, 1) > arrList(j, 1) Then
    arrTemp = arrList(j, 1)
    arrList(j, 1) = arrList(i, 1)
    arrList(i, 1) = arrTemp
    End If
    Next j
    Next i
    .Value = arrList
    End With
    Call Alle_Comboboxen_löschen
    End Sub
    
    
    Private Sub CommandButton3_Click()
    Dim i&, j&, iZeile&, arrList, arrTemp
    With Tabelle4.ListObjects("Tabelle4").DataBodyRange
    iZeile = .Rows.Count + 1
    .Cells(iZeile, 1) = ComboBox3
    End With
    With Tabelle4.ListObjects("Tabelle4").DataBodyRange
    arrList = .Value
    For i = 1 To iZeile - 1
    For j = i + 1 To iZeile
    If arrList(i, 1) > arrList(j, 1) Then
    arrTemp = arrList(j, 1)
    arrList(j, 1) = arrList(i, 1)
    arrList(i, 1) = arrTemp
    End If
    Next j
    Next i
    .Value = arrList
    End With
    Call Alle_Comboboxen_löschen
    End Sub
    
    
    Private Sub CommandButton4_Click()
    Dim i&, j&, iZeile&, arrList, arrTemp
    With Tabelle4.ListObjects("Tabelle5").DataBodyRange
    iZeile = .Rows.Count + 1
    .Cells(iZeile, 1) = ComboBox4
    End With
    With Tabelle4.ListObjects("Tabelle5").DataBodyRange
    arrList = .Value
    For i = 1 To iZeile - 1
    For j = i + 1 To iZeile
    If arrList(i, 1) > arrList(j, 1) Then
    arrTemp = arrList(j, 1)
    arrList(j, 1) = arrList(i, 1)
    arrList(i, 1) = arrTemp
    End If
    Next j
    Next i
    .Value = arrList
    End With
    Call Alle_Comboboxen_löschen
    End Sub
    
    
    Private Sub CommandButton5_Click()
    Dim i&, j&, iZeile&, arrList, arrTemp
    With Tabelle4.ListObjects("Tabelle6").DataBodyRange
    iZeile = .Rows.Count + 1
    .Cells(iZeile, 1) = ComboBox5
    End With
    With Tabelle4.ListObjects("Tabelle6").DataBodyRange
    arrList = .Value
    For i = 1 To iZeile - 1
    For j = i + 1 To iZeile
    If arrList(i, 1) > arrList(j, 1) Then
    arrTemp = arrList(j, 1)
    arrList(j, 1) = arrList(i, 1)
    arrList(i, 1) = arrTemp
    End If
    Next j
    Next i
    .Value = arrList
    End With
    Call Alle_Comboboxen_löschen
    End Sub
    
    
    Private Sub CommandButton6_Click()
    Dim i&, j&, iZeile&, arrList, arrTemp
    With Tabelle4.ListObjects("Tabelle7").DataBodyRange
    iZeile = .Rows.Count + 1
    .Cells(iZeile, 1) = ComboBox6
    End With
    With Tabelle4.ListObjects("Tabelle7").DataBodyRange
    arrList = .Value
    For i = 1 To iZeile - 1
    For j = i + 1 To iZeile
    If arrList(i, 1) > arrList(j, 1) Then
    arrTemp = arrList(j, 1)
    arrList(j, 1) = arrList(i, 1)
    arrList(i, 1) = arrTemp
    End If
    Next j
    Next i
    .Value = arrList
    End With
    Call Alle_Comboboxen_löschen
    End Sub
    

  • AW: Geöffnete Datei schließen, umbenennen un
    13.01.2023 00:13:57
    Piet
    Hallo Uwe
    tausche bitte nur den Speicherteil in Modul1 aus. Bei mir klappt es die Datei im Ordner neu löschen.
    Option Explicit musst du wegen der neuen Variablen NeuPfad mitkopieren! Damit sollte es klappen.
    Würde mich freuen wenn wir den Thread damit abschliessen können.
    mfg Piet
  • Option Explicit ' -
    Dim NeuPfad As String
    'Button: Speichern
    
    Sub Schaltfläche26_Klicken()
    Dim Datum As Variant, i As Integer, Notiz As String
    Dim Datei As String, NeuDatei As String, ok As Variant
    Dim Archiv As String, NeuTxt As String, DTyp As String
    If Workbooks.Count = 1 Then MsgBox "Keine neue Datei geöffnet", vbInformation: Exit Sub
    With ThisWorkbook.Worksheets("Tabellen")
    Datei = Workbooks(2).Name  'göffnete Datei (nicht aktiv!)
    If Datei = ThisWorkbook.Name Then Datei = Workbooks(1).Name
    Notiz = ThisWorkbook.Worksheets("Startseite").Range("C9")
    Datum = Format(.Range("P1"), "dd.mm.yy")
    'ComboBoxen Werte in Zeile 1 auslesen, mit Zahlen 1-6
    For i = 2 To 12 Step 2
    If .Cells(1, i)  "" Then
    NeuTxt = NeuTxt & "_" & .Cells(1, i - 1) & .Cells(1, i)
    End If
    Next i
    'Archivpfad laden, "_" Vorspann abschneiden
    Archiv = .Range("Q5"): NeuTxt = Mid(NeuTxt, 2)
    NeuPfad = .Range("Q3") & "\" & Datei  'für Kill
    End With
    'String für neuen Dateinamen bilden
    DTyp = Mid(Datei, InStrRev(Datei, ".") + 1)       'Endung xls
    NeuDatei = Left(Datei, InStrRev(Datei, ".") - 1)  'Cut Endung
    If Notiz  "" Then Notiz = "_" & 7 & Notiz       'Zahl 7 setzen
    '** hier kannst du den neuen Dateinamen beliebig zusammenbasteln
    NeuDatei = Datum & " " & NeuTxt & Notiz & "." & DTyp   'neuer Dateiname
    ok = MsgBox(NeuDatei & vbLf & "Neue Datei im Archiv speichern?", vbYesNo)
    On Error GoTo Fehler  'neue Datei in Archiv speichern
    If ok = vbYes Then Workbooks(Datei).SaveAs Archiv & NeuDatei
    Workbooks(NeuDatei).Close savechanges:=False  'Datei schliessen
    Kill NeuPfad  'Datei in Ordner neu löschen
    Call Alle_Comboboxen_löschen
    Exit Sub
    Fehler:  MsgBox NeuDatei & "  Fehler beim schliessen"
    End Sub
    

  • Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige