Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dateiname aus bestimmten zellen zusammensetzen

Dateiname aus bestimmten zellen zusammensetzen
08.08.2014 16:18:33
Nastja
Hallo Leute,
folgendes Problem. habe folgenden Code, der eine bestimmte Registerkarte als Anhang an die angegebene E-Mail Adresse per Knopfdruck versendet.
Nun möchte ich aber, dass der Dateiname sich aus bestimmten Zellen der Tabelle1 zusammensetzt und als solche versendet wird.
Beispielsweise ist bei Tabelle 1 unter A1: name ; B1: Alter ; B3: Datum
Demnach sollte die datei beispielsweise als "Müller_34_08-08-2014.xls" versendet werden. Wie kann man dies umsetzen?
Danke im Voraus
Sub Worksheet_versenden()
Dim s As String
Dim b As String
Sheets("Tabelle xy").Copy
ActiveWorkbook.SendMail "test@test.de", "Hier Betreff eingeben"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiname aus bestimmten zellen zusammensetzen
08.08.2014 17:03:10
Michael
Hi Nastja,
ich habe folgende Testdaten:
A1: Mustermann
B1: 35
B3: =jetzt()
In VBA kannst Du das so zusammensetzen:
Sub dateiname()
Dim name As String
name = Range("a1") & "_" & Range("b1") & "_" & _
Format(Range("b3").Value, "dd_mm_yyyy") & ".xls"
MsgBox name
End Sub

Schöne Grüße,
Michael

Anzeige
AW: Dateiname aus bestimmten zellen zusammensetzen
13.08.2014 10:01:30
Nastja
Danke für die Antwort.
Leider ändert sich der Dateiname trotzdem nicht. Wahrscheinlich mache ich etwas falsch bei der _ Einsetzung des "dateiname" im

Sub Worksheet_versenden() ?

Sub dateiname()
Dim name As String
name = Range("a1") & "_" & Range("b1") & "_" & _
Format(Range("b3").Value, "dd_mm_yyyy") & ".xls"
MsgBox name
End Sub

________________________________________________________
Sub Worksheet_versenden()
Dim s As String
Dim b As String
Sheets("Tabelle xy").Copy
ActiveWorkbook.SendMail "test@test.de", "Hier Betreff eingeben"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
dateiname
End Sub

Anzeige
AW: Dateiname aus bestimmten zellen zusammensetzen
13.08.2014 10:04:31
Nastja
.

AW: Dateiname aus bestimmten zellen zusammensetzen
14.08.2014 12:32:47
Michael
Hallo Nastja,
ich habe nur skizziert, wie Du den Dateinamen zusammensetzen kannst, nicht wie Du ihn weiterverarbeitest.
Ich habe kurz recherchiert: am passendsten erscheint mir die Antwort hier im Forum:
https://www.herber.de/forum/archiv/544to548/547478_SendMail_VBA.html
Sofern Du Outlook verwendest, lies bitte mal diesen Beitrag:
http://www.online-excel.de/excel/singsel_vba.php?f=86
Ich habe kein mail-Programm installiert, kann also hier leider nicht weiter helfen, wenn es um den Versand selbst geht.
Zur Logik: wenn Du die Datei versenden möchtest, deren Namen Du zusammensetzt, mußt Du sie offensichtlich erst öffnen, s. erster link.
Wenn Du die Datei versenden möchtest, in der Du Dich sowieso bereits befindest, brauchst Du den Namen nicht zusammensetzen, weil Du ihn einfach aus Thisworkbook.name übernehmen kannst - Du benötigst ihn aber anscheinend gar nicht zum Versand.
Wenn Du nicht zurechtkommst, erkläre bitte etwas ausführlicher, was Du machen möchtest.
Happy Exceling,
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Dateiname aus bestimmten Zellen in Excel zusammensetzen


Schritt-für-Schritt-Anleitung

Um in Excel einen Dateinamen aus bestimmten Zellen zusammenzusetzen, kannst du den folgenden VBA-Code verwenden. Dieser Code setzt den Dateinamen aus Werten in den Zellen A1, B1 und B3 zusammen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsm)" klickst, dann auf Einfügen und Modul.
  3. Kopiere den folgenden Code in das Modul:
Sub dateiname()
    Dim name As String
    name = Range("A1") & "_" & Range("B1") & "_" & _
    Format(Range("B3").Value, "dd_mm_yyyy") & ".xls"
    MsgBox name
End Sub
  1. Um den Dateinamen beim Versenden einer E-Mail zu verwenden, passe den Worksheet_versenden-Code wie folgt an:
Sub Worksheet_versenden()
    Dim s As String
    Dim b As String
    Sheets("Tabelle xy").Copy
    ActiveWorkbook.SendMail "test@test.de", "Hier Betreff eingeben"
    Application.DisplayAlerts = False
    ActiveWindow.Close
    Application.DisplayAlerts = True
    dateiname
End Sub

Häufige Fehler und Lösungen

  • Problem: Der Dateiname wird nicht aktualisiert.

    • Lösung: Stelle sicher, dass du die Funktion dateiname im Worksheet_versenden-Code aufrufst, nachdem die Arbeitsmappe kopiert wurde.
  • Problem: Die Zellen enthalten keine Werte.

    • Lösung: Überprüfe, ob A1, B1 und B3 tatsächlich die gewünschten Werte enthalten. Wenn B3 eine Formel ist, stelle sicher, dass sie korrekt berechnet wird.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die CONCATENATE-Funktion oder die TEXTVERKETTEN-Funktion (in neueren Excel-Versionen) nutzen:

=TEXTVERKETTEN("_"; WAHR; A1; B1; TEXT(B3; "dd_mm_jjjj"))

Diese Formel gibt den gleichen Dateinamen zurück, den du in VBA erzeugen könntest.


Praktische Beispiele

Angenommen, deine Tabelle sieht wie folgt aus:

A B C
Name Alter Datum
Müller 34 08-08-2014

Der zusammengesetzte Dateiname würde "Müller_34_08_08_2014.xls" sein, wenn du die oben genannten Methoden anwendest.


Tipps für Profis

  • Du kannst den Namen dynamisch anpassen, indem du weitere Zellen in den Code einfügst.
  • Nutze die Funktion ThisWorkbook.Name, um den Namen der aktuellen Arbeitsmappe zu erhalten, falls du diese für den Versand verwenden möchtest.
  • Experimentiere mit anderen Formatierungen, um den Dateinamen nach deinen Wünschen zu gestalten, z.B. durch Ändern des Datumsformats.

FAQ: Häufige Fragen

1. Frage Wie kann ich sicherstellen, dass der Dateiname keine ungültigen Zeichen enthält?

Antwort: Füge eine Funktion hinzu, die unerwünschte Zeichen entfernt, bevor du den Dateinamen zusammensetzt.

2. Frage Kann ich den Dateinamen anpassen, ohne VBA zu verwenden?

Antwort: Ja, du kannst die CONCATENATE- oder TEXTVERKETTEN-Funktion in Excel verwenden, um den Namen aus Zellen zusammenzusetzen, ohne VBA zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige