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

Speichern als csv.

Speichern als csv.
21.01.2003 18:07:36
Thorsten
Hi,
Ich habe eine Multipage, auf deren Seiten sich diverse Textboxen befinden. Die in den Textboxen eingetragenen Werte ( Zahlen und Buchstaben) stehen anschließend in meinem Worksheet Rechungen
Da ich nicht möchte, dass der User das ganze Makro neu speichert, dachte ich mir, ich könnte die eingetragenen Werte als csv. speichern(commandbutton2).Diese Werte können dann, wenn das Makro das nächstemal benutzt wird, geladen werden (commandbutton1).

Für das Speichern benuzte ich folgende Sub:

Private Sub CommandButton2_Click()
Text = ""
dateiname = InputBox("Speichen unter (die Endung .csv wird ergänzt!):" & Chr(13) & "Existierende Dateien werden überschrieben!", "Dateinamen")
dateiname = dateiname & ".csv"
dateinr = FreeFile()
Open dateiname For Output As dateinr
With Worksheets("Rechnungen")
For Y = 5 To 68
For X = 5 To 18
Write #dateinr, .Cells(Y, X)
Next X

Next Y
End With
Close #dateinr
Exit Sub
fehlerroutine:
aw = MsgBox(Err.Description, , "Fehler beim Speichern!")
Err.Clear
End Sub

Und für das Laden:

Private Sub CommandButton1_Click()
On Error GoTo fehlerroutine
Text = ""
dateiname = InputBox("Laden (die Endung *.csv wird ergänzt)")
dateiname = dateiname & ".csv"
dateinr = FreeFile()
Open dateiname For Input As dateinr
With Worksheets("Rechnungen")
For Y = 5 To 68
For X = 5 To 18
Input #dateinr, eingabe
.Cells(Y, X) = eingabe
Next X

Next Y
End With
Close #dateinr

Exit Sub
fehlerroutine:
aw = MsgBox(Err.Description, , "Fehler beim Laden!")
Err.Clear
End Sub

Das klappt soweit auch ( keine Fehler Message), allerdings tauchen in meiner Mulitpage nur einige der Daten wieder (nur einige der Zahlenwerte) auf und nicht alle (überhaupt keine Texteingaben).
Was muss ich tun, damit alle eingetragenen Werte wieder zu sehen sind??

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Speichern als csv.
21.01.2003 19:19:17
L.Vira
Warum eigentlich csv ? Kannst du nicht eine Kopie des Tabellenblatts(oder auch nur des relevanten Zellbereichs) in eine eigene Datei speichern?
Re: Speichern als csv.
21.01.2003 19:54:26
Thorsten
Hi L,

ich denke du meinst ich sollte einfach eine Kopie anfertigen lassen von dem Blatt und die dann als xls. speichern....das Problem hierbei ist folgendes:

Das Tabellenblatt soll für den User nicht sichtbar sein (bzw. nicht bearbeitbar)...auf diesem Blatt sind Formeln/ Berechnungen, die der User nicht kennen muss bzw. die er nicht versehntlich manipulieren soll. Somit geht die einfach xls. Variante nicht. Oder gibt es die Möglichkeit, dass Blatt zu kopieren und dann wieder einzufügen, ohne das der User Zugriff darauf hat??

Wenn du also 'ne Idee hast (xls. oder csv.) nur zu, freue mich über jeden konstruktiven Beitrag


Anzeige
Re: Speichern als csv.
21.01.2003 20:27:16
L.Vira
Klar geht das mit dem Einfügen. Du musst doch gar nicht das Blatt löschen oder einfügen. Wenn ich dich richtig verstanden habe, willst du doch sowieso nur Werte, keine Formeln wegschreiben.
Re: Speichern als csv.
21.01.2003 20:58:50
Thorsten
Hi L_Vira,

es sollen an und für sich nur die Daten gespeichert werden, die in den Textboxen stehen, so dass wenn ich auf Laden klicke, alleWerte in meinen Textboxen auf meiner Multipage wieder auftauchen. Ob das jetzt über ne csv. oder xls. datei geschiet, ist ziemlich egal, das Problem besteht aber bei beiden Varianten darin, dass beim Laden nicht alle Werte wieder in den Textboxen auftauchen, sondern nur einige Zahlen und gar keine Texte.

Wichitg ist also nur, das sämtliche ehemaligen Einträge in meine Textboxen nach dem Laden wieder in diesen sichtbar sind. Dabei ist es egal in welchem Format die Einträge aus den Textboxen, die auf meinem Sheet stehen, gespeichert werden.

Anzeige
Re: Speichern als csv.
21.01.2003 23:36:50
L.Vira
Ich kann in deinem Code nix sehen, wie du deine Textboxen mit Daten versorgst?
L_Vira
22.01.2003 00:50:54
Thorsten
Ich habe da keinen speziellen Code....die übernahme der Textboxeinträge auf das Tabellenblatt funktioiert bei mir mit 2 Anweisungen
a)
Private Sub Sa1_AfterUpdate()
Me.Sa1.Value = cwert(Me.Sa1.Value)
Worksheets("Rechnungen").Cells(Me.ScrollBar1.Value + 27, 6) = CDbl(Me.Sa1.Value)
ScrollBar1_Change
End Sub

Dafür habe ich im Modul1 folgende Funktion erstellt:

Public Function cwert(wert)
On Error GoTo fehler
If wert = "" Or CDbl(wert) = 0 Then
cwert = vbEmpty
Else
cwert = CDbl(wert)
End If
Exit Function
fehler:
cwert = vbEmpty
End Function

( gilt für mehrere Textboxen, die über eine Scrollbar gesteuert werden, eingetragen werden nur Zahlen)

b)Private Sub Name_Change()
Worksheets("Rechnungen").Range("O8").Value = Name.Text
End Sub

(für die Textboxen mit Texteinträge)

wie müsste den nun ein Code aussehn, um die Textboxen mit daten zu versorgen?? ich glaubte bis jetzt, das würde ausreichen....

Anzeige
Re: L_Vira
22.01.2003 01:34:39
L.Vira
Sorry, das wird mir zu unübersichtlich, wenn du willst, kannst du mir die Mappe mailen:softsmith@web.de Betreff: HerberThorsten

75 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige