![]() |
|
Zellbezug in VBA mit einbinden - Druckversion +- Office-Fragen.de (https://office-fragen.de) +-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html) +--- Forum: Excel (https://office-fragen.de/forum-2.html) +--- Thema: Zellbezug in VBA mit einbinden (/thread-29334.html) |
Zellbezug in VBA mit einbinden - onki76 - 17.08.2026 Hallo zusammen, ich hoffe ihr könnt mir hier helfen. Nachstehend ein VBA-Modul, wo eine csv aus einem Tab erzeugt wird. Nun soll hier beim Namen "Montageliste" noch die Nummer angehangen werden, welche im Tab Zeitkalkulation C1 steht. Irgendwie bekomme ich die Verbindung nicht hin. Ausgabebeispiel: Nummer in Zeitkalkulation C1: 2026123 Ausgabe des Dateinamens beim erzeugen der csv: Montageliste 2026123 Sub MontagelisteUMD() Sheets("Montageliste UMD").Select Cells.Select Range("A1").Activate Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Range("A1").Select Sheets("Montageliste UMD").Select CSVDatei_schreiben End Sub Sub CSVDatei_schreiben() Dim strVerzeichnis As String, nFileNr Dim K As Integer, N As Integer, F As Integer Dim FileName As String Dim Daten As Variant Dim objStream As Object Dim strTextFile_Neu As String Dim sText As String Dim intFile On Error GoTo ErrorHandler strVerzeichnis = ActiveWorkbook.Path & "\" FileName = InputBox("Dateiname!", "Filenamen für csv", "Montageliste") If InStr(FileName, ".csv") > 0 Then F = InStr(FileName, ".csv") FileName = Left(FileName, F - 1) ElseIf Len(FileName) < 3 Then Exit Sub End If With Worksheets("Montageliste UMD") For N = 1 To .Cells(Rows.Count, 15).End(xlUp).Row For K = 1 To .Cells(1, Columns.Count).End(xlToLeft).Column Daten = Daten & .Cells(N, K).Value & ";" Next sText = sText + Daten & Chr(10) Daten = "" Next N End With intFile = FreeFile strTextFile_Neu = strVerzeichnis & FileName & Sheet("Zeitkalkulation, Range C1") & ".csv" Set objStream = CreateObject("ADODB.Stream") With objStream .Type = 2 'Stream Typ .Charset = "utf-8" .Open .WriteText sText 'Text schreiben .SaveToFile strTextFile_Neu, 2 'binary Daten speichern End With Exit Sub ErrorHandler: MsgBox "Fehlerhafte Eingaben ! Bitte korrigieren und wiederholen.", vbCritical, "Hinweis" End Sub RE: Zellbezug in VBA mit einbinden - PetrolMaxxe - 17.08.2026 Hallo, meist du die Nummer im Filenamen mitgeben? dann vielleicht so: strTextFile_Neu = strVerzeichnis & FileName & Sheet("Zeitkalkulation, Range C1") & Sheets("Zeitkalkulation").Range("C1") & ".csv" Gruß Uwe RE: Zellbezug in VBA mit einbinden - onki76 - 17.08.2026 Hallo Uwe, danke für die Antwort. Der Ansatz ist so korrekt, leider kommt da beim Durchlauf ein Fehler.
RE: Zellbezug in VBA mit einbinden - PetrolMaxxe - 17.08.2026 Das sagt doch die Fehlermeldung, was da nicht stimmt. In VBA kennt ThisWorkbook nur thisworkbook.Sheets() und nicht Sheet. Dieser Tippfehler war schon in deinem ursprünglich gezeigten Code enthalten. Gruß Uwe RE: Zellbezug in VBA mit einbinden - onki76 - 17.08.2026 Ich hab es so gelöst, da läuft es ohne Probleme strTextFile_Neu = strVerzeichnis & FileName & Sheets("Zeitkalkulation").Range("C1") & ".csv" Danke für die Mithilfe RE: Zellbezug in VBA mit einbinden - PetrolMaxxe - 17.08.2026 Das ist der korrekte Weg. Während dies zu mehrenen Fehlern führt: Sheet("Zeitkalkulation, Range C1") Sheets("Zeitkalkulation").Range("C1") ist dann die funktionierende Schreibweise. Gruß Uwe |