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

Aus Zelleninhalt ganzes Wort generieren

Aus Zelleninhalt ganzes Wort generieren
07.02.2004 11:19:58
Erich M.
Hallo EXCEL-Freunde,
ich versuche aus mehreren Makros den Inhalt einer Zelle zu zerlegen und daraus
bestimmte Ergebnisse zu generieren. Jetzt scheitere ich daran, dass es mir nicht
gelingt, bei bestimmten Buchstaben ein ganzes Wort zu defnieren, das in die
nächste Spalte eingetragen wird; dabei stehen die Buchstaben in den Zeilen
k2 bis k50 und die Wörter sollen in L2 bis L50 eingetargen werden:

Option Explicit
Sub Stadium()
' aus Zelleninhalt Merkmal/Stadium ermitteln und eintragen
Cells(1, 12) = "Stadium"
Dim i As Integer, r As Range
'For Each r In [k2:k50]
For i = 2 To 50
If Cells(i, 11) = "K" Then
Cells(i, 12) = "Kauf1"
Else
If Cells(i, 11) = "L" Then
Cells(i, 12) = "Kauf2"
Else
If Cells(i, 11) = "T" Then
Cells(i, 12) = "Kauf3"
End If
'Next
Next
End Sub


Code eingefügt mit: Excel Code Jeanie
Es kommt immer zur Fehlermeldung
Next ohne For
ganz egal wie ich umstelle.
Besten Dank für eine Hilfe!
mfg
Erich

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus Zelleninhalt ganzes Wort generieren
07.02.2004 11:27:12
Bert
Option Explicit

Sub Stadium()
' aus Zelleninhalt Merkmal/Stadium ermitteln und eintragen
Cells(1, 12) = "Stadium"
Dim i As Integer, r As Range
For i = 2 To 50
If UCase(Cells(i, 11)) = "K" Then
Cells(i, 12) = "Kauf1"
ElseIf UCase(Cells(i, 11)) = "L" Then
Cells(i, 12) = "Kauf2"
ElseIf UCase(Cells(i, 11)) = "T" Then
Cells(i, 12) = "Kauf3"
End If
Next
End Sub

Bert
AW: Aus Zelleninhalt ganzes Wort generieren
07.02.2004 12:55:03
Erich M.
Hallo Bert,
besten Dank das war's!!
Hast Du vielleicht für dieses Problem auch noch eine Idee. Ich hatte die Anfrage
vor zwei drei Wochen schon mal im Forum - aber ohne Erfolg. Leider finde ich den
Thread nicht mehr, deshalb nochmlas das Problem. Aus den nachstehenden Zellen der
Spalte A soll in Spalte B der Text übertragen werden, der zwischen den Zahlen steht.
Dabei ist es immer das gleiche System, das heisst Buchstaben vor und hinter den Zahlen
bleiben unberücksichtigt. Es können aber zwischen den Zahlen dann Leerzeichen, &-Zeichen oder Punkte vorkommen - trotzdem soll dies alles in die nächste Spalte übertragen werden.
Eine Formel habe ich bereits. Mit VBA habe ich aber den Vorteil, dass ich mit mehreren
Makros hintereinander das schneller lösen kann:
Anzeige
AW: Aus Zelleninhalt ganzes Wort generieren
07.02.2004 13:08:50
Bert
Wenn dann aber in diesem Text zwischen den Zahlen auch nochmals
Zahlen auftauchen, wirds schwierig.
Bert
AW: Aus Zelleninhalt ganzes Wort generieren
07.02.2004 13:15:25
Erich M.
Hallo Bert,
das ist richtig. Aber die Vorgabe ist hier eindeutig, dass dies nicht der Fall sein
darf bzw. wird. Wenn sich jemand nicht an diese Regel hält, muss korrigiert werden.
Also grundsätzlich ist immer der Text zwischen zwei Zahlen der gesuchte Wert!
mfg
Erich
NOCH OFFEN
07.02.2004 13:32:47
Bert
Ich kann mich heute nicht mehr darum kümmern.
Bert
AW: NOCH OFFEN
07.02.2004 13:35:39
Erich M.
Hallo Bert,
danke für die Info - ich werde auf alle Fälle weiter basteln.
mfg
Erich
AW: NOCH OFFEN
07.02.2004 14:00:59
Alex K.
Hallo Erich,
vielleicht kann dir folgendes Makro weiterhelfen:

Public Sub TextLösen()
Dim srcRng      As Range
Dim rng         As Range
Dim isNum       As Boolean
Dim stPos       As Integer
Dim pos         As Integer
With ActiveSheet
Set srcRng = .Range("A2:A" & .Cells(65500, 1).End(xlUp).Row)
For Each rng In srcRng
isNum = False
stPos = 999
For pos = 1 To Len(rng.Value)
If IsNumeric(Mid(rng.Value, pos, 1)) Then
isNum = True
End If
If isNum And Not (IsNumeric(Mid(rng.Value, pos, 1))) And stPos = 999 Then
stPos = pos
End If
If isNum And IsNumeric(Mid(rng.Value, pos, 1)) And pos > stPos Then
rng.Offset(0, 1).Value = Trim(Mid(rng.Value, stPos, pos - stPos))
Exit For
End If
Next pos
Next rng
End With
End Sub

Anzeige
G R A N D I O S !!
07.02.2004 14:35:36
Erich M.
Hallo Alex,
nicht nur vielleicht hilft mir dieses Makro - das ist die geniale Lösung !!
Besten Dank - jetzt kann ich mein Problem wohl zu Ende lösen, weil ich sowohl die
Zahlen als auch den Text aus den Zellen trennen kann!!
Allerbesten Dank!!
mfg
Erich
Danke für die Rückmeldung
07.02.2004 14:45:30
Alex K.

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige