Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1000to1004
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
Zeichenkette per for-next-schleife erstellen
09.08.2008 19:06:00
lauer
Hallo,
ich möchte mir eine Zeichenkette erstellen lassen.
Ich habe in einer Zelle (B11) den Anfang (1) angegeben und in der anderen (C11) steht das Ende (49).
Nun möchte ich, dass er mir in der E11 die Zeichenkette reinschreibt.
Also ich möchte dann in E11 stehen haben: 1,2,3,4,5,6,7,...,45,46,47,48,49
Wie man sieht sollen die Zahlen per Komma getrennt sein, aber keine Leerzeichen enthalten!
Leider steht wenn ich den Button drücke nicht die Zeichenkette in E11, sondern 1225 :(

Private Sub CommandButton1_Click()
Dim anfang, ende, differenz, i As Integer
Dim zahlenkette As String
'Bereich für Professoren festlegen
anfang = Application.Workbooks("IDBereich.xlsm").Worksheets("Seiten").Cells(11, 2).Value
ende = Application.Workbooks("IDBereich.xlsm").Worksheets("Seiten").Cells(11, 3).Value
differenz = ende - anfang
zahlenkette = " "
For i = anfang To ende
If i = anfang Then
zahlenkette = i
Else
zahlenkette = zahlenkette + "," + i
End If
Next i
Application.Workbooks("IDBereich.xlsm").Worksheets("Seiten").Cells(11, 5).Value =  _
zahlenkette
End Sub


Seht ihr meinen Fehler oder habt eine bessere (funktionierende) Methode das zu bewerkstelligen?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichenkette per for-next-schleife erstellen
09.08.2008 19:23:19
Hajo_Zi
Hallo Nick,
ich hätte nicht + benutzt sondern &

AW: Zeichenkette per for-next-schleife erstellen
09.08.2008 19:25:00
lauer
SUPER, danke!
Manchmal ist es wirklich zu einfach :)

AW: Zeichenkette per for-next-schleife erstellen
09.08.2008 19:41:12
Daniel
Hi
ja, wie HaJo schon gesagt hat, das Zeichen für das Verketten von Strings ist "&"
kleiner Tip, die IF-Abfrage innerhalb der Schleife kannst du dir sparen:

Private Sub CommandButton1_Click()
Dim anfang, ende, differenz, i As Integer
Dim zahlenkette As String
'Bereich für Professoren festlegen
anfang = Application.Workbooks("IDBereich.xlsm").Worksheets("Seiten").Cells(11, 2).Value
ende = Application.Workbooks("IDBereich.xlsm").Worksheets("Seiten").Cells(11, 3).Value
differenz = ende - anfang
 zahlenkette = ""
For i = anfang To ende
zahlenkette = zahlenkette & "," & i
Next i
Zahlenkette = Mid$(Zahlenkette, 2)
Application.Workbooks("IDBereich.xlsm").Worksheets("Seiten").Cells(11, 5).Value =  _
zahlenkette
End Sub


oder so:


Private Sub CommandButton1_Click()
Dim anfang, ende, differenz, i As Integer
Dim zahlenkette As String
'Bereich für Professoren festlegen
anfang = Application.Workbooks("IDBereich.xlsm").Worksheets("Seiten").Cells(11, 2).Value
ende = Application.Workbooks("IDBereich.xlsm").Worksheets("Seiten").Cells(11, 3).Value
differenz = ende - anfang
 zahlenkette = anfang
For i = anfang + 1 To ende
zahlenkette = zahlenkette & "," & i
Next i
Application.Workbooks("IDBereich.xlsm").Worksheets("Seiten").Cells(11, 5).Value =  _
zahlenkette
End Sub


innerhalb die Schleife sollte sich nur der notwendigste Code befinden, weil das kostest Rechenzeit (ich weiß, ist hier nicht relevant, aber nur so aus prinzip)
Gruß,Daniel

Anzeige
AW: Dim-Anweisung
09.08.2008 20:12:18
Erich
Hi Vorname,
noch ein Tipp:
Wenn anfang, ende, differenz und i den Typ Integer haben sollen, reicht
Dim anfang, ende, differenz, i As Integer
NICHT aus. anfang, ende, differenz sind dann Variant-Variablen.
Hiermit werden alle Variablen der Zeile zu Integers:
Dim anfang As Integer, ende As Integer, differenz As Integer, i As Integer
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige