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

Schleife erstellen / Zahlen finden

Schleife erstellen / Zahlen finden
25.01.2004 22:07:44
Erich M.
Hallo EXCEL-Freunde,
ich bastle schon den ganzen Tag an einem Code, als Fortsetzung von:
https://www.herber.de/forum/archiv/368to372/t370039.htm
Der Vorschlag von K.Rola ist super und ich möchte den nun sukzessive ausbauen.
Es geht darum, dass aus einer Zelle (A2), die Buchstaben und Zahlen enthält,
die Zahlen ausgelesen werden und in P2 und Q2 übertragen werden sollen.
Das funktioniert bereits. Nun möchte ich erreichen, dass dies analog auch
für die Zellen A3 bis A10 erfolgt - hier ist das Problem. Wenn ich einzeln
den Code für jede Zelle schreibe geht es, aber ich kriege die Schleife nicht hin.
Siehe diese Varianten:

Option Explicit
Sub Zahlen_aus_Text1()
Dim r As Range, intSpalte As Integer, i As Long
Dim n As String
' Eintrag aus Celle A2
Worksheets("Tabelle1").Cells(2, 1).Select
Set r = ActiveCell
intSpalte = r.Column + 14
On Error Resume Next
For i = 1 To Len(r.Text)
If IsNumeric(Mid(r.Text, i, 1)) Then
r.Offset(0, intSpalte) = r.Offset(0, intSpalte) & Mid(r.Text, i, 1)
Else
If Len(r.Offset(0, intSpalte)) > 0 Then intSpalte = intSpalte + 1
End If
Next
' Eintrag aus Celle A3
Worksheets("Tabelle1").Cells(3, 1).Select
Set r = ActiveCell
intSpalte = r.Column + 14
On Error Resume Next
For i = 1 To Len(r.Text)
If IsNumeric(Mid(r.Text, i, 1)) Then
r.Offset(0, intSpalte) = r.Offset(0, intSpalte) & Mid(r.Text, i, 1)
Else
If Len(r.Offset(0, intSpalte)) > 0 Then intSpalte = intSpalte + 1
End If
Next
End Sub
Sub Zahlen_aus_Text()
' übertragen von Zahlen aus Spalte A in Spalten P und Q
Dim intSpalte As Integer, i As Long
Dim r As Range
Dim n As Integer
'Set r = Cells(ActiveCell, ActiveCell.Offset(10, 0))
'Set r = Cells(2, 1)
'For r = 2 To 10
n = Cells(2, 1).Select
Set r = ActiveCell
For n = 0 To 9          'Zeilen nach unten werden angesprochen
'Set r = Cells(ActiveCell, ActiveCell.Offset(10, 0))
intSpalte = r.Column + 14
On Error Resume Next
For i = 1 To Len(r.Text)
If IsNumeric(Mid(r.Text, i, 1)) Then
r.Offset(n, intSpalte) = r.Offset(n, intSpalte) & Mid(r.Text, i, 1)
Else
If Len(r.Offset(n, intSpalte)) > 0 Then intSpalte = intSpalte + 1
End If
Next
Next n
'Next r
End Sub


Code eingefügt mit: Excel Code Jeanie
Besten Dank für einen Tipp, wie ich beim unteren Besispiel die Schleife
hinbekommen kann.
mfg
Erich

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife erstellen / Zahlen finden
25.01.2004 23:46:57
K.Rola
Hallo,
wenn es nur um A2:A10 geht, dann z.B. so:
Option Explicit

Sub Zahl_aus_Text()
Dim r As Range, intSpalte As Integer, i As Long
For Each r In [a2:a10]
intSpalte = 1 + 14
For i = 1 To Len(r.Text)
If IsNumeric(Mid(r.Text, i, 1)) Then
r.Offset(0, intSpalte) = r.Offset(0, intSpalte) & Mid(r.Text, i, 1)
Else
If Len(r.Offset(0, intSpalte)) > 0 Then intSpalte = intSpalte + 1
End If
Next
Next
End Sub

Wenn alles voll wählbar sein soll, wäre das eine Aufgabe für ein kleines
Add- In.
Gruß K.Rola
AW: Schleife erstellen / Zahlen finden
26.01.2004 19:18:14
Erich M.
Hallo K.Rola,
zunächst besten Dank - da ich momentan ganz wenig Zeit habe, melde ich
mich auf alle Fälle in den nächsten Tagen nochmals.
mfg
Erich
Anzeige
AW: Schleife erstellen / Zahlen finden
27.01.2004 00:22:05
Erich M.
Hallo K.Rola,
funktioniert natürlich super. Jetzt muss ich mal generell überlegen
was ich mir damit alles erleichtern könnte und die eine oder andere
Datei mit den vielen Berechnungen neu aufbauen.
Da werde ich noch die eine oder andere Frage haben - zunächst aber nochmals
allerbesten Dank!!
mfg
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige