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

Dateinamen gleicht Zelleninhalt

Dateinamen gleicht Zelleninhalt
24.04.2007 21:56:51
Andre
Hallo Excelfreunde,
habe mich bereits im Archiv reichlich umgesehen, allerdings finde ich nicht genau das was ich suche.
Und zwar möchte ich den Wert in Zelle A1 als Dateinamen übernehmen, und zwar sofort nachdem die Taste "Enter" gedrückt worden ist.
Danach sollte sich nach Möglichkeit ein Fenster öffnen in dem man bestätigen muss ob gespeichert werden soll oder nicht. (JA;NEIN;ABBRECHEN)
Zudem möchte ich, dass im Dateinamen das Datum mit abspeichert wird, und der Pfad im Code festgelegt werden kann.
Bsp.: Zelle A1:Testdatei
Ergebnis nach Eingabe der Entertaste und Bestätigungsfenster
PFAD\Testdatei vom 24.04.2007.xls
Falls bei dem Bestätigungsfenster Nein geklickt wird möchte ich, dass sich das Fenster Speichern unter öffnet und man den Dateinamen und Pfad manuell ändern kann.
Die Frage ist nun ob es überhaupt möglich ist bzw. nicht zu kompliziert ist?
Hoffe es ist verständlich angekommen, ansonsten bitte ich um Rückmeldung.
Würde mich aber über jegliche Hilfe freuen.
Gruß
André

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen gleicht Zelleninhalt
24.04.2007 22:15:00
Josef
Hallo André,
probier mal diesen Code im Modul der entsprechenden Tabelle.
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit
Const cPath As String = "F:\Temp" 'Pfad - anpassen!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
Dim strFile As String

If Target.Address = "$A$1" Then
    
    If Target <> "" Then
        
        strFile = cPath & "\" & Target.Text & Format(Date, " vo\m dd.mm.yyyy") & ".xls"
        
        r = MsgBox("Soll diese Datei unter dem Namen" & vbLf & vbLf & vbTab & _
            strFile & vbLf & vbLf & _
            "gespeichert werden?", 35, "Datei speichern")
        
        If r = 6 Then
            
            ThisWorkbook.SaveAs strFile
            
        ElseIf r = 7 Then
            
            strFile = Application.GetSaveAsFilename( _
                InitialFileName:=strFile, _
                FileFilter:="Excel Files (*.xls), *.xls")
            
            If strFile = "Falsch" Then Exit Sub
            
            ThisWorkbook.SaveAs strFile
            
        End If
        
    End If
    
End If

End Sub

Gruß Sepp

Anzeige
AW: Dateinamen gleicht Zelleninhalt
24.04.2007 23:06:00
Andre
Wahnsinn, klasse funktioniert bestens! Danke!!!
Habe nur noch eine kurze Frage:
Könnte man auch noch eine zweite Zelle mit dazunehmen, sprich A1 und B1 allerdings möchte ich, dass der Dateiname erst nach der Eingabe der Entertaste B1 generiert wird.
Bsp.: A1:test > Enter (passiert nichts); B1:datei >Enter (Dateiname wird wie vor gespeichert)
Ergebnis: testdatei vom 24.04.2007
Wäre klasse wenn dies auch gehen würde.
Danke nochmal.
Gruß
Andre

AW: Dateinamen gleicht Zelleninhalt
24.04.2007 23:29:00
Uduuh
Hallo,
aber sicher:

Option Explicit
Const cPath As String = "F:\Temp" 'Pfad - anpassen!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
Dim strFile As String
If Target.Address = "$B$1" Then
If Target  "" Then
strFile = cPath & "\" & Target.offset(0,-1).Text &Target.Text & Format(Date, " vo\m dd.mm.yyyy") & ".xls"


und den Rest von Sepps Code
Gruß aus’m Pott
Udo

Anzeige
AW: Dateinamen gleicht Zelleninhalt
26.04.2007 21:26:00
Andre
Vielen Dank Udo,
habe es hinbekommen allerdings nur in einem neuen Blatt, in meiner bestehenden Tabelle klappt es leider nicht, habe den bestehenden Code und den neuen Code unten eingefügt, leider bekomme ich jetzt folgende Fehlermeldung:
Fehler beim Kompilieren
Mehrdeutiger Name Worksheet_Change
Vielleicht hat ja jemand ne Lösung für dieses Problem, denn ich bin völlig ahnungslos.
Option Explicit

Private Sub ToggleButton1_Click()
Range("i10").Value = 2 + ToggleButton1.Value
ToggleButton1.Caption = IIf(ToggleButton1.Value, "Moin", "MoinMoin")
End Sub



Private Sub ToggleButton2_Click()
Range("i" & ActiveCell.Row).Value = 2 + ToggleButton1.Value
ToggleButton1.Caption = IIf(ToggleButton1.Value, "Moin", "MoinMoin")
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
Dim ii As Integer
For ii = 4 To 8                                           ' Zeilen 4 bis 8
If Not Intersect(Cells(ii, 5), Target) Is Nothing Then ' Spalte 5 = E
If BlattNam_Pruefung(Cells(ii, 5)) Then
Sheets(ii + 1).Name = Cells(ii, 5)               ' Blätter 5 bis 9
Else
MsgBox "E" & ii & " enthält keinen gültigen Blattnamen: " & vbLf & Cells(ii, 5)
End If
End If
Next ii
End Sub


Option Explicit
Const cPath As String = "D:\ziel" 'Pfad - anpassen!


Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
Dim strFile As String
If Target.Address = "$J$14" Then
If Target  "" Then
strFile = cPath & "\" & Target.Offset(0, -1).Text & " " & Target.Text & Format(Date, "  _
vo\m dd.mm.yyyy") & ".xls"
r = MsgBox("Soll diese Datei unter dem Namen" & vbLf & vbLf & vbTab & _
strFile & vbLf & vbLf & _
"gespeichert werden?", 35, "Datei speichern")
If r = 6 Then
ThisWorkbook.SaveAs strFile
ElseIf r = 7 Then
strFile = Application.GetSaveAsFilename( _
InitialFileName:=strFile, _
FileFilter:="Excel Files (*.xls), *.xls")
If strFile = "Falsch" Then Exit Sub
ThisWorkbook.SaveAs strFile
End If
End If
End If
End Sub


Gruß
André

Anzeige
AW: Dateinamen gleicht Zelleninhalt
26.04.2007 21:27:40
Andre
Vielen Dank Udo,
habe es hinbekommen allerdings nur in einem neuen Blatt, in meiner bestehenden Tabelle klappt es leider nicht, habe den bestehenden Code und den neuen Code unten eingefügt, leider bekomme ich jetzt folgende Fehlermeldung:
Fehler beim Kompilieren
Mehrdeutiger Name Worksheet_Change
Vielleicht hat ja jemand ne Lösung für dieses Problem, denn ich bin völlig ahnungslos.
Option Explicit

Private Sub ToggleButton1_Click()
Range("i10").Value = 2 + ToggleButton1.Value
ToggleButton1.Caption = IIf(ToggleButton1.Value, "Moin", "MoinMoin")
End Sub



Private Sub ToggleButton2_Click()
Range("i" & ActiveCell.Row).Value = 2 + ToggleButton1.Value
ToggleButton1.Caption = IIf(ToggleButton1.Value, "Moin", "MoinMoin")
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
Dim ii As Integer
For ii = 4 To 8                                           ' Zeilen 4 bis 8
If Not Intersect(Cells(ii, 5), Target) Is Nothing Then ' Spalte 5 = E
If BlattNam_Pruefung(Cells(ii, 5)) Then
Sheets(ii + 1).Name = Cells(ii, 5)               ' Blätter 5 bis 9
Else
MsgBox "E" & ii & " enthält keinen gültigen Blattnamen: " & vbLf & Cells(ii, 5)
End If
End If
Next ii
End Sub


Option Explicit
Const cPath As String = "D:\ziel" 'Pfad - anpassen!


Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
Dim strFile As String
If Target.Address = "$J$14" Then
If Target  "" Then
strFile = cPath & "\" & Target.Offset(0, -1).Text & " " & Target.Text & Format(Date, "  _
vo\m dd.mm.yyyy") & ".xls"
r = MsgBox("Soll diese Datei unter dem Namen" & vbLf & vbLf & vbTab & _
strFile & vbLf & vbLf & _
"gespeichert werden?", 35, "Datei speichern")
If r = 6 Then
ThisWorkbook.SaveAs strFile
ElseIf r = 7 Then
strFile = Application.GetSaveAsFilename( _
InitialFileName:=strFile, _
FileFilter:="Excel Files (*.xls), *.xls")
If strFile = "Falsch" Then Exit Sub
ThisWorkbook.SaveAs strFile
End If
End If
End If
End Sub


Gruß
André

Anzeige
AW: Dateinamen gleicht Zelleninhalt
28.04.2007 18:01:27
Jo
Option Explicit
Const cPath As String = "D:\ziel" 'Pfad - anpassen!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
Dim strFile As String
Dim ii As Integer
For ii = 4 To 8                                           ' Zeilen 4 bis 8
If Not Intersect(Cells(ii, 5), Target) Is Nothing Then ' Spalte 5 = E
If BlattNam_Pruefung(Cells(ii, 5)) Then
Sheets(ii + 1).Name = Cells(ii, 5)               ' Blätter 5 bis 9
Else
MsgBox "E" & ii & " enthält keinen gültigen Blattnamen: " & vbLf & Cells(ii, 5)
End If
End If
Next ii
If Target.Address = "$J$14" Then
If Target  "" Then
strFile = cPath & "\" & Target.Offset(0, -1).Text & " " & Target.Text & Format(Date, " _
vo\m dd.mm.yyyy") & ".xls"
r = MsgBox("Soll diese Datei unter dem Namen" & vbLf & vbLf & vbTab & _
strFile & vbLf & vbLf & _
"gespeichert werden?", 35, "Datei speichern")
If r = 6 Then
ThisWorkbook.SaveAs strFile
ElseIf r = 7 Then
strFile = Application.GetSaveAsFilename( _
InitialFileName:=strFile, _
FileFilter:="Excel Files (*.xls), *.xls")
If strFile = "Falsch" Then Exit Sub
ThisWorkbook.SaveAs strFile
End If
End If
End If
End Sub


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige