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

Zelleninhalte kopieren (Batch)?

Zelleninhalte kopieren (Batch)?
06.06.2007 14:53:37
Selma
Hallo Leute,
ich habe bis jetzt mit diesem Code die Zelleninhalte des marktierten Zellenbereiches (z.B. U2:U43) in die BAT-Datei geschrieben und im Anschluß wurde diese Datei ausgeführt.

Sub Batch()
Dim Zelle, Starte
Close
Open "c:\temp\excel.bat" For Output As #1
For Each Zelle In Selection
Print #1, Zelle.Value
Next Zelle
Close #1
Starte = Shell("c:\temp\excel.bat")
End Sub


Wenn ich jetzt mehrere Zellen (z.B. U2:W43) über mehrere Spalten markiere, dann sollen die in richtige Reihenfolge in die BAT-Datei geschrieben werden.
Beim Zellenbereich U2:Y43 wäre das:
Zelleninhalte U2:U43 dann neue Zeile
Zelleninhalte V2:V43 dann neue Zeile
Zelleninhalte W2:43 dann neue Zeile
Also einfach alphabetisch...
Was muss ich an Code verändern?
Besten Dank im Voraus...
Liebe Grüße
Selma

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalte kopieren (Batch)?
06.06.2007 16:56:14
Matthias
Hallo Selma,
so müsste es klappen:

Sub Batch()
Dim ff As Integer
Dim rng As Range
Dim tmp As String
Dim Zeile As Long, Spalte As Integer
If Selection.Areas.Count > 1 Then
MsgBox "Es muss ein zusammenhängender Bereich definiert sein!"
Exit Sub
End If
Set rng = Selection
ff = FreeFile
Open "c:\temp\excel.bat" For Output As #ff
For Spalte = rng(1).Column To rng(1).Column + rng.Columns.Count - 1
tmp = ""
For Zeile = rng(1).Row To rng(1).Row + rng.Rows.Count - 1
tmp = tmp & Cells(Zeile, Spalte) & " " 'Leerzeichen als Trennzeichen
Next Zeile
tmp = Left(tmp, Len(tmp) - 1) 'letztes Leerzeichen entfernen
Print #ff, tmp
'Debug.Print tmp
Next Spalte
Close #1
Starte = Shell("c:\temp\excel.bat")
End Sub


Gruß Matthias

Anzeige
AW: Zelleninhalte kopieren (Batch)?
06.06.2007 17:42:00
Selma
Hallo lieber Matthias,
erstmal vielen Dank für deine Hilfe. Ich habe versucht als Trennzeichen & Chr(13) zu nehmen (für Enter). Leider hat es nicht funktioniert. Geht das überhaupt?
Beispiel nachher (alles untereinander):
Text 1
Text 2
Text 3
Text 4
Text 5
Text 6
LG
Selma

AW: Zelleninhalte kopieren (Batch)?
06.06.2007 17:53:00
Matthias
Hallo Selma,
wieso Enter als Trennzeichen? Ich dachte die Spalteninhalte sollen jeweils in eine Zeile.
Gruß Matthias

AW: Zelleninhalte kopieren (Batch)?
07.06.2007 21:01:00
Selma
Hallo Matthias,
jedes Zelleninhalt soll jeweils in eine Zeile in excel.bat.
Immer ein Excel Zellinhalt, dann neue Zeile, ein Excel Zellinhalt, dann neue Zeile usw.
Anbei eine Beispieldatei: https://www.herber.de/bbs/user/43086.xls
Liebe Grüße
Selma

Anzeige
AW: Zelleninhalte kopieren (Batch)?
08.06.2007 10:57:00
Matthias
Hallo Selma,
ach so:

Sub Batch()
'Makro von Matthias
'https://www.herber.de/forum/messages/ _
876089.html
Dim ff As Integer
Dim rng As Range
Dim tmp As String
Dim Zeile As Long, Spalte As Integer
If Selection.Areas.Count > 1 Then
MsgBox "Es muss ein zusammenhängender Bereich definiert sein!"
Exit Sub
End If
Set rng = Selection
ff = FreeFile
Open "c:\temp\excel.bat" For Output As #ff
For Spalte = rng(1).Column To rng(1).Column + rng.Columns.Count - 1
For Zeile = rng(1).Row To rng(1).Row + rng.Rows.Count - 1
With Cells(Zeile, Spalte)
If .Value  "" Then Print #1, .Value
End With
Next Zeile
Next Spalte
Close #1
Starte = Shell("c:\temp\excel.bat")
End Sub


Gruß Matthias

Anzeige
es funktioniert prima - vielen DANK !
08.06.2007 13:18:00
Selma
Hallo Matthias,
es funktioniert prima - vielen DANK !
LG
Selma

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige