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

"Makro-Umbau" wer weis Rat?

"Makro-Umbau" wer weis Rat?
09.07.2003 13:12:49
Dominik
Hallo ich habe folgendes Makro:

Sub Konvertierung()
Dim iZeile As Long, iiZeile As Long
Dim strZelle As String
iiZeile = 0
For iZeile = 1 To Range("A65536").End(xlUp).Row
If Cells(iZeile, 1) <> "" Then
strZelle = Cells(iZeile, 1)
Do While InStr(strZelle, Chr(10)) > 0
iiZeile = iiZeile + 1
Cells(iiZeile, 3) = Left(strZelle, InStr(strZelle, Chr(10)) - 1)
Cells(iiZeile, 4) = Cells(iZeile, 2)
strZelle = Right(strZelle, Len(strZelle) - InStr(strZelle, Chr(10)))
Loop
iiZeile = iiZeile + 1
Cells(iiZeile, 3) = strZelle
Cells(iiZeile, 4) = Cells(iZeile, 2)
End If
Next iZeile
End Sub

Nun hätte ich gerne, dass der Text in Spalte C ebenfalss berücksichtigt wird und dass das Ergebnis der Konvertierung in Tabelle2(in Spalte B, C und D
und nicht wie bisher in Tablle1 in den Spalten C und D.
MfG
Dominik

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Makro-Umbau" wer weis Rat?
09.07.2003 13:48:31
RAnton
Hallo Dominik,
habe es geändert.

Sub Konvertierung()
Dim iZeile As Long, iiZeile As Long
Dim strZelle As String
iiZeile = 0
For iZeile = 1 To Range("A65536").End(xlUp).Row
If Cells(iZeile, 1) <> "" And Cells(iZeile, 3) <> "" Then
strZelle = Cells(iZeile, 1)
Do While InStr(strZelle, Chr(10)) > 0
iiZeile = iiZeile + 1
Sheets("Tabelle2").Range(iiZeile, 2) = Left(strZelle, InStr(strZelle, Chr(10)) - 1)
Sheets("Tabelle2").Range(iiZeile, 3) = Cells(iZeile, 2)
Sheets("Tabelle2").Range(iiZeile, 4) = Cells(iZeile, 2)
strZelle = Right(strZelle, Len(strZelle) - InStr(strZelle, Chr(10)))
Loop
iiZeile = iiZeile + 1
Cells(iiZeile, 3) = strZelle
Cells(iiZeile, 4) = Cells(iZeile, 2)
End If
Next iZeile
End Sub

Die Schleife läuft nur, wenn
bei dieser Anweisung
Cells(iZeile, 1) <> "" And Cells(iZeile, 3) <> ""
beide Zellen <> "" sind.
Wenn dus anders haben willst, musst du OR nehmen.
Gruß
RAnton

Anzeige
AW: "Makro-Umbau" wer weis Rat?
09.07.2003 13:43:06
ChrisL
Hi Dominik
Ohne den Hintergrund zu kennen kann dir kaum jemand helfen. Der Link zum alten Beitrag oder eine kurze Erklärung wäre hilfreich gewesen.
Option Explicit

Sub Konvertierung()
Dim iZeile As Long, iiZeile As Long
Dim strZelle As String
Dim WS1 As Worksheet, WS2 As Worksheet
iiZeile = 0
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
For iZeile = 1 To WS1.Range("A65536").End(xlUp).Row
If WS1.Cells(iZeile, 1) <> "" Then
strZelle = WS1.Cells(iZeile, 1)
Do While InStr(strZelle, Chr(10)) > 0
iiZeile = iiZeile + 1
WS2.Cells(iiZeile, 2) = Left(strZelle, InStr(strZelle, Chr(10)) - 1)
WS2.Cells(iiZeile, 3) = WS1.Cells(iZeile, 2)
WS2.Cells(iiZeile, 4) = WS1.Cells(iZeile, 3)
strZelle = Right(strZelle, Len(strZelle) - InStr(strZelle, Chr(10)))
Loop
iiZeile = iiZeile + 1
WS2.Cells(iiZeile, 2) = strZelle
WS2.Cells(iiZeile, 3) = WS1.Cells(iZeile, 2)
WS2.Cells(iiZeile, 4) = WS1.Cells(iZeile, 3)
End If
Next iZeile
End Sub

Gruss
Chris

Anzeige
AW: Respekt! ;-)
09.07.2003 13:50:46
Dominik
Vielen Dank Chris!
"Ohne den Hintergrund zu kennen" hast Du einen Volltreffer gelandet! Vielen Dank!
Ich werde mich das nächste Mal bemühen, euch eine genauere Darstellung des Problems zu liefern.
MfG
Dominik

AW: Respekt! ;-)
09.07.2003 14:27:00
ChrisL
Bitte...
Ich habe den Hintergrund schon gekannt, denn das Makro stammte von mir. Aber wie das RAnton geschafft hat ist mir ein Rätsel ;-)
cu
Chris

@Chis -> Kristallkugel
09.07.2003 15:40:20
RAnton
fg

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige