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

Datei per Makro "auslagern"

Datei per Makro "auslagern"
26.09.2004 15:56:01
Felix
OK ich gebe zu die überschrift klingt blöd ... aber lasst es mich kurz erklären:
Ich habe vor mir ein riesen stundenplan-programm was in unserer schule eingesetzt wird. nun liegen aufgrund der großen menge an daten die wichtigsten daten überall verteilt.
ich habe vor nur die REINEN stundenpläne ins internet zu stellen und dachte mich da so:
- ich mache eine tabelle die per querverweis auf die im dokument verteilten daten die daten (und NUR DIE) welche ich brauche in eine tabelle speichert. sozusagen die rohdaten.
- nun musst diese tabelle (zur zeit noch vom nutzer) als CSV-datei (also die daten nur duch ein trennzeichen getrennt) gespeichert werden. da das sehr lästig ist möchte ich gern per makro die datei sozusagen auf knopfdruck speichern.
- diese datei lädt der nutzer dann hoch und dort wird sie entsprechend weiterverarbeitet - ist aber hier irrelevant.
nun meine frage:
wie kann ich per makro dateien speichern?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
als csv-Datei speichern
Reinhard
Hi Felix,
Services--Recherche, nach
datei speichern csv
suchen lassen.
Gruß
Reinhard
AW: als csv-Datei speichern
Felix
danke für deinen antwort - ich hab noch befor die kam weiter recheriert und will euch nicht meine lösung vorenthalten ... daher hier ist sie:

Sub Speichern()
Dim Zeilen As Excel.Range
Dim Zelle As Excel.Range
Dim xText As String
Dim xTextZelle As String
Dim xTrennung As String
'xTrennung = ";;" <-- alt! wird in tabelle definiert
'wrksheet beinhaltet nun die gesamte tabelle Internet mit unseren rohdaten
Set wrksheet = ThisWorkbook.Worksheets("Internet")
xTrennung = wrksheet.Cells(3, 2).Text
xDateiName = wrksheet.Cells(3, 4).Text + wrksheet.Cells(2, 4).Text
'gibt die nächst mögliche Dateinummer zurück - für open()
xDateiNummer = FreeFile
'öffnet die datei für schreiben (output)
Open xDateiName For Output As xDateiNummer
'für alle in wrksheet benutzen Zeilen (rows)
For Each Zeilen In wrksheet.UsedRange.Rows
xText = ""
For Each Zelle In Zeilen.Columns
xTextZelle = Zelle.Text
'Sollte eine Zelle wieder erwarten die angegebene trennung enthalten
'so wird der inhalt der zelle in hochkommatas gespeichert
If InStr(1, xTextZelle, xTrennung, 0) Then
xTextZelle = Chr(39) + xTextZelle + Chr(39)
End If
'neu angefangene zeile?
If Len(xText) = 0 Then
xText = xTextZelle + xTrennung
Else
xText = xText + xTextZelle + xTrennung
End If
Next
Print #xDateiNummer, xText
Next
Close xDateiNummer
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige