Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
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
Inhaltsverzeichnis

Aktion anhand 3ter Stelle von links

Aktion anhand 3ter Stelle von links
30.08.2022 15:42:49
links
Hallo zusammen,
könnte mir bitte jemand helfen um dies zu lösen.
In B11:B1048576 stehen Werte, z.b.
in B11 = 1014898
in B12 = 1120002
usw.
Abhängig von der 3ten Zahl von links soll folgendes ausgeführt werden:
- wenn 3te Zahl eine „1“, dann Text „Angebot“ in Spalte Z derselben Zeile
- wenn 3te Zahl eine „2“, dann Text „AB“ in Spalte Z derselben Zeile
- wenn die Zelle in Spalte B leer ist, soll nicht geschrieben werden
Da die Tabelle sehr umfangreich ist, sollte es eine VBA-Lösung sein.
Vielen Dank für die Rückmeldung
Gruß
Günter

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktion anhand 3ter Stelle von links
30.08.2022 15:53:45
links
Moin,
das sollte damit gehen

=WENN(B11"";WENN(TEIL(B11;3;1)="1";"Angebot";WENN(TEIL(B11;3;1)="2";"AB";""));"")
Kürzer ginge es so, aber vielleicht noch nicht mit Deiner Excel-Version.

=WAHL(TEIL(B11;3;1);"Angebot";"AB")
VG Michael
AW: wenn schon Formel, dann ...
30.08.2022 16:00:43
neopa
Hallo Michael,
... z.B. so: =WENNFEHLER(WAHL(TEIL(B11;3;1);"Angebot";"AB");""), die in jeder Version ab XL 2007 genutzt werden kann.
Jedoch wollte Günter VBA. Alternativ zu VBA würde ich ja Power Query-Funktionalität nutzen (welche in XL2013 jedoch erst kostenfrei von der MS-Seite downgeladen und als AddIn installiert werden muss).
Gruß Werner
.. , - ...

Anzeige
AW: wenn schon Formel, dann ...
30.08.2022 16:04:21
Michael
Hallo Werner,
"Jedoch wollte Günter VBA."...Das hab ich wohl überlesen...
Damit sind andere viel schneller als ich!
Frage wieder offen.
VG Michael
Alles was mit Formel gelöst werden kann...
30.08.2022 16:10:35
Daniel
... ist immer auch gleichzeitig eine VBA-Lösung.
den Formel einfügen + Formel durch Wert ersetzen geht immer und ist ein einfacher zweizeiler, der - je nach aufgabenstellung - oft eine aufwendige Programmierung ersetzen kann.
Wie die Formel per VBA eingefügt wird, kann auch ein VBA-Anfänger mit hilfe des Recorders leicht selbst herausfinden.
Gruß Daniel
WAHL geht mit jeder Excelversion
30.08.2022 16:07:52
Daniel
Die einfachste VBA-Lösung wäre also die Formel in die Spalte Z einzutragen:

With ActiveSheet.Usedrange.Columns(26)
.FormulaR1C1 = "=IF(RC2="""";"""";Choose(Mid(RC2,3,1),""Text für 1"",""Text für 2"",""Text für 3""))"
.Formula = .Value
End with
eine reine VBA-Lösung könnte auch so aussehen, dass man zunächst die Werte nach Z kopiert und dann mit ERSETZEN arbeitet:

Columns(2).Copy
With Columns(26)
.PasteSpecial xlpastevalues
.Replace "?1*", "Text für 1", xlwhole
.Replace "?2*", "Text für 2"; xlwhole
.Replace "?3*", "Text für 3"; xlwhole
usw
End with

Anzeige
AW: Aktion anhand 3ter Stelle von links
30.08.2022 16:05:14
links
Hallo Günter!

Sub Unit()
Dim Bereich As Range, Zelle As Range
Set Bereich = Range(Cells(11, 2), Cells(Rows.Count, 2).End(xlUp))
For Each Zelle In Bereich
If Mid(Zelle, 3, 1) = 1 Then
Cells(Zelle.Row, 26) = "Angebot"
ElseIf Mid(Zelle, 3, 1) = 2 Then
Cells(Zelle.Row, 26) = "AB"
End If
Nextc C
Set Bereich = Nothing
End Sub
Gruß Gerd
AW: Aktion anhand 3ter Stelle von links
30.08.2022 16:12:36
links
Sorry "Next Zelle" statt "Next C".
Kombi aus Formel und VBA
30.08.2022 16:12:26
UweD
Hallo
dann so (ohne Schleife)...

Sub AB()
Dim RNG As Range
Set RNG = Range("B11:B1048576")
With RNG.Offset(0, 24)
.FormulaR1C1 = "=IFERROR(CHOOSE(MID(RC[-24],3,1),""Angebot"",""AB""),"""")"
.Value = .Value
End With
End Sub
LG UweD
Anzeige
AW: Aktion anhand 3ter Stelle von links
30.08.2022 17:41:20
links
Danke an alle die so schnell geantwortet haben.
Muss ich morgen gleich mal testen.
Melde mich dann nochmals.
Danke.
Gruß
Günter
AW: Aktion anhand 3ter Stelle von links
01.09.2022 06:52:12
links
Hallo zusammen,
vielen Dank nochmals für die Antworten.
Die Tabelle ist jetzt doch größer als gedacht, aktuell 765.373 Zeilen, daher meine verspätete Rückmeldung.
Die Lösungen mit Formel und VBA funktionieren wunderbar.
In diesem klasse Forum wird einem einfach immer geholfen.
Gruß
Günter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige