Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
260to264
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
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

print-Befehl

print-Befehl
23.05.2003 23:00:28
Kai
Hallo zusammen!
Ich habe in einem Makro den Print-Befehl stehen, der gewisse Zellen in eine Textdatei schreibt.

Im Makro steht u.a. folgendes:

Print #1, Range("B10");
Print #1, Range("B11");
Print #1, Range("B12");
Print #1, Range("B13");

Jetzt hab ich das Problem, daß ich knapp 1000 Zellen untereinander habe, die in die Textdatei geschrieben werden sollen.
Ich möchte aber nicht 1000 mal "Print #1, Range("Bxxx");"
hinschreiben müssen. Gibts nicht nen Befehl, der einen Zell-Bereich in die Textdatei schreibt? Sowas wie "Print #1, Range("B13:B1000");"?
Funktioniert bei mir nicht.

Ach ja, und ganz klasse wäre auch, wenn nach jeden "Print" eine neue Zeile angefangen würde. Ich dachte, das geht mit Println, klappt aber leider auch nicht.

Könnt ihr mir weiterhelfen?


Gruß
Kai

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: print-Befehl
23.05.2003 23:16:46
Ramses

Hallo,

du musst halt den ganzen Code nehmen ;-)

Open "C:\Test.txt" for Append As #1
For i = 1 to 1000
Print #1, Cells(i,2).Value
Next i

Gruss Rainer

Re: print-Befehl
23.05.2003 23:19:13
Kai

ach so.. :-)
hab mit VBA noch nicht sooo viel gemacht.
Wird dann auch immer eine neue Zeile angefangen? Das wäre wichtig, weil es sich später mal um HTML-Code drehen soll. :-)

Oder muß man für ne neue Zeile einen extra Befehl dazwischenquetschen?


Gruß
Kai

Re: print-Befehl
23.05.2003 23:29:14
Ramses

Hallo,

Der Schlüssel liegt in der Öffnungsvariante ".. for Append.."
Da wird jeder neue eintrag automatisch hinzugefügt.

Gruss Rainer

Anzeige
Re: print-Befehl
23.05.2003 23:35:32
Kai

OK Danke Dir!

Nur noch eine letzte Frage. Ich habe in der Recherche gelesen, daß man so anfangen sollte:

Sub Textdatei()
Dim fs As Object, a As Object

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\Windows\Desktop\Homepage\Tabelle2.htm", True)
a.Close
.
.
.


Ich habs eben mal gelöscht, und siehe da: die Datei wird auch so erstellt, ohne den obigen Code!
Wozu ist der dann nun da? Kann ich den ruhig immer weglassen oder sollte ich ihn wieder hin schreiben?

Wenn ich das noch wüsste, bin ich zu 100% zufrieden :-)

Gruß
Kai


Anzeige
Re: print-Befehl
23.05.2003 23:39:26
Ramses

Hallo Kai,

wenn du Fragen zu einem bestimmten Code hast, ist es immer sinnvoll den ganzen Code zu zeigen.

In deinem Beispiel hast du den vorgeschlagenen Code nämlich nicht richtig umgesetzt.
Die nächste Anweisung bei dir lautet nämlich:

Open "C:\Pfad\Dateiname" for Output As #1

anstatt

Open a for Output As #1

wie ursprünglich vorgegegeben ;-))

Es funktioniert natürlich auch so,... aber die genaue Steuerung ist über das FSO Objekt sicherer, vor allem wenn du noch was anderes vorhast mit der Datei.

Gruss Rainer

Re: print-Befehl
23.05.2003 23:57:45
Kai

Also ich hab den Code so gefunden:
-------------------------------------------------

Sub Textdatei()
Dim fs As Object, a As Object

' Datei "Test.txt" in C:\Windows\Desktop\Homepage\ erzeugen
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\Windows\Desktop\Homepage\Tabelle2.htm", True)
a.Close

' Datei öffnen.
Open "C:\Windows\Desktop\Homepage\Tabelle2.htm" For Output As #1
For i = 1 To 1000
Print #1, Cells(i, 2).Value
Next i
Close #1
End Sub

-------------------------------------------------

unten hab ich jetzt Deinen Code rein gepflanzt. Mit der Datei hab ich so eigentlich nix mehr vor, nur noch hochladen :-)
Würde es denn nicht reichen, wenn ich bei Open anfange und den oberen Code von DIM bis a.Close einfach weg lasse? Also funktionieren würde es. Den oberen Teil versteh ich nämlich auch nicht so ganz.. Anfänger halt. :-(

P.S.:

Open "C:\Pfad\Dateiname" for Output As #1
hatte ich doch nirgends geschrieben, oder?


Also ich schreib am besten mal mein komplettes Makro da hin. Wäre lieb, wenn du mir kurz sagen könntest, ob ich da noch viel dran ändern muß. Wie gesagt, ich will die Datei dann nur noch hochladen.. sonst nix.

-------------------------------------------------

Sub Buli_Textdatei()
'
' Buli_Textdatei Makro
'
' Tastenkombination: Strg+q
'
Sheets("H").Select

Open "C:\Windows\Desktop\Homepage\Tabelle2.htm" For Output As #1
For i = 1 To 1000
Print #1, Cells(i, 2).Value
Next i
Close #1
End Sub

-------------------------------------------------

ist das ok?

Gruß
Kai

Anzeige
Re: print-Befehl
24.05.2003 00:05:44
Ramses

Hallo Kai,

der untere Teil reicht.
Allerdings kriege ich deswegen jetzt sicher von L.Vira eins ans Schienbein genagelt :-)

Zum "richtigen" Programmieren gehört einfach, dass die Variablen sauber deklariert werden. Sollten Fehler im Code auftreten, lassen sich diese wesentlich besser auffinden und lösen.
Ausserdem erhöht es die Programmier-Disziplin :-))

Gruss Rainer

ja stimmt..
24.05.2003 00:10:32
Kai

..eigentlich achte ich auch darauf, alles sauber und ordentlich zu machen. Aber wenn es so wie beschrieben auch funktioniert, ists ja in Ordnung. Ich hab ja kein riesengroßes Projekt im Sinn, sondern nur ne blöde Fussball-Tabelle ;-)
Außerdem kenn ich mich mit VBA so gut wie gar nicht aus und brauch nur ne kurze Zwischenlösung.

Danke Dir jedenfalls für Deine Hilfe!
Ohne das Forum hier wäre ich aufgeschmissen!

Gruß
Kai

Anzeige
Re: print-Befehl
24.05.2003 02:38:51
L.Vira

Niemals, nicht nageln, dazu schätze ich dich viel zu sehr, ich nehme einen Tacker :)).
Gruß L.Vira

Re: print-Befehl
24.05.2003 04:38:24
einen Tacker.. *g*

@L.Vira
Aber meinst Du nicht auch, daß der Code für meine Ansprüche in Ordnung ist? Ich möchte ja nur ne Textdatei bzw HML-Datei erstellen und die dann sofort mit shell hochladen.

Also nochmal einlesen oder mit der Datei anderweitig arbeiten hatte ich nicht vor.

Bin halt VBA-Dümmling und würde mich gerne was den Code betrifft aufs nötigste beschränken
(wenns denn so klappt, und das tuts ja)

Gruß
Kai

Re: print-Befehl
24.05.2003 13:57:17
L.Vira

War ja auch eher scherzhaft gemeint und an Ramses gerichtet.

Anzeige
Da hätte ich mir ...
24.05.2003 15:01:09
Ramses

Hallo L.Vira,

... eine schlaflose Nacht sparen können, wenn ich das gewusst hätte ;-))

Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige