Guten Tag enthalten alle,Der Versuch, mit nur Zellen, die einen Bereich in Excel in CSV zu exportieren, die Daten
Ich baue ein Excel-Blatt für meine Mitarbeiter CSV-Dateien zu erzeugen, zu verwenden. Ich brauche eine Ausgabe mit Kopfzeile und dann alle Daten aus dem Blatt. Es werden nicht mehr als 40 Zeilen sein, aber weniger Zeilen. Momentan habe ich viele Formeln in meinem Arbeitsblatt, die meinen Kollegen bei der Erstellung von Benutzernamen/etc aus den Eingabedaten schwer machen. Ich muss sie auf eine Schaltfläche klicken und die CSV-Datei am anderen Ende abrufen. Meine aktuellen Probleme sind wie folgt.
1.) meine CSV enthält doppelte Anführungszeichen für jedes Feld, obwohl Kommas nicht in den Eingabedaten enthalten sein sollten. Ich muss das verhindern, da das Programm, das wir diesen csv-Dateien zuführen, die Anführungszeichen AT ALL nicht mag. Ja, ich weiß, Sie können es in Notepad öffnen und alle ersetzen, um sie zu entfernen, aber ich versuche, eine Ein-Klick-Lösung zu bauen, da einige der Leute, die dies verwenden, nicht sehr technisch versiert sind.
2.) Mein Makro exportiert derzeit alle vierzig Datenzeilen. Ich brauche es, um nur die Zeilen zu exportieren, die Daten enthalten. Theoretisch mit den Formeln gebaut sollte es keine "teilweise" Zeilen, nur eine vollständige Zeile oder eine leere Zeile.
3.) Wenn ich die CSV-Datei erzeuge, wird kein Dateityp angehängt, ich brauche eine .txt. Dateityp, wenn überhaupt möglich, wie auch hier ist das Programm, das wir ihnen zuführen, sehr wählerisch.
Sub CommandButton1_Click()
Dim filename As String
Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer
filename = InputBox("Please enter file name", "Save as CSV", "CSV_" & Format(Now, "DD_MM_yyyy"))
myFile = Application.DefaultFilePath & filename
Set rng = Range("A1:J41")
Open myFile For Output As #1
For i = 1 To rng.Rows.Count
For j = 1 To rng.Columns.Count
cellValue = rng.Cells(i, j).Value
If j = rng.Columns.Count Then
Write #1, cellValue
Else
Write #1, cellValue,
End If
Next j
Next i
Close #1
End Sub
Woher kommen diese doppelten Anführungszeichen? Werden sie angezeigt, wenn Sie Ihre .csv-Datei ausfüllen oder befinden sie sich in den vorhandenen cellValues? –
Nach einer halben Stunde experimentieren mit Ihrem Code, dachte ich, dass es als eine wirklich einfache Möglichkeit, dies zu tun. Verwenden Sie einfach "Speichern unter" -> "CSV auswählen" -> Wenn Ihre Arbeitsmappe mehrere Blätter enthält, wird eine Eingabeaufforderung angezeigt, in der Sie gefragt werden, ob Sie nur das aktive Arbeitsblatt speichern möchten. Drücken Sie 'Ja' -> Sie sind fertig –
Nur ein kurzer Bereich der Klärung. Sie haben gesagt, dass möglicherweise nicht alle 40 Zeilen Daten enthalten. Sind die Daten in aufeinanderfolgenden Zeilen oder könnte es Leerzeichen zwischen? wenn es 5 Reihen von Daten gibt, sind sie in Reihen 1-5 oder könnten sie in Reihen 1, 2, 4, 6, 9 sein? – viper941