Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Splitten und löschen von eingaben

Forumthread: Splitten und löschen von eingaben

Splitten und löschen von eingaben
12.04.2017 15:31:10
eingaben
Ich bekomme aus einem Programm einen „Stempel“ -
„0HKVA15BH1_Raumname“
der soll aufgeteilt werden und bereinigt werden das nachher in Spalte „D“ nur noch der Raumname steht.
Das Steuerelement "Schaltfläche" bereinigen soll dann Stelle 6 und 7 des Stempel in Spalte „F“ einfügen und wenn BH1 angegeben soll dieser auch in Spalte „K“ die "1" einfügen wenn nicht dann „0“. Danach soll alles vorm Leerzeichen weg sein.
Danke….
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Splitten und löschen von eingaben
12.04.2017 16:09:47
eingaben
Hi
Vielleicht so...
=RECHTS(A1;LÄNGE(A1)-FINDEN("_";A1))
=TEIL(A1;6;2)*1
=WENN(FINDEN("BH1";A1);1;0)
cu
Chris
AW: Splitten und löschen von eingaben
12.04.2017 16:16:31
eingaben
das ist keine schlechte Idee würde dies aber über eine Schaltfläche via VBA einstellen.
also eine Makro bräuchte ich....
danke
AW: Splitten und löschen von eingaben
12.04.2017 16:28:01
eingaben
Hi
Könnte man mit dem Makrorekorder aufzeichnen. Formel einfügen, Formel in Werte umwandeln, fertig.
Sub t()
With Range("D1:D" & Cells(Rows.Count, 1).End(xlUp).Row)
.Formula = "=RIGHT(A1,LEN(A1)-FIND(""_"",A1))"
.Value = .Value
.Offset(0, 2).Formula = "=MID(A1,6,2)*1"
.Offset(0, 2).Value = .Offset(0, 2).Value
.Offset(0, 7).Formula = "=IF(FIND(""BH1"",A1),1,0)"
.Offset(0, 7).Value = .Offset(0, 7).Value
End With
End Sub
cu
Chris
Anzeige
AW: Splitten und löschen von eingaben
12.04.2017 17:09:44
eingaben
Die funktioniert... danke
wenn jetzt noch die Möglichkeit geht:
der Stempel wird in Spalte D reinkopiert und soll auch da bearbeitet werden habe die anderen Zellen leider nicht zur Verfügung.(kann auch keine Spalte einfügen weil das nachgelagerte Programm es dann nicht mehr erkennt.
danke für die schnellen Lösungsvorschläge.
Anzeige
AW: Splitten und löschen von eingaben
12.04.2017 18:14:42
eingaben
Hi
Dass die Stempel bereits in Spalte D stehen wusste ich nicht. Darf man ganz rechts eine Hilfsspalte machen, die gleich wieder gelöscht wird oder ist die Tabelle irgendwie geschützt?
cu
Chris
AW: Splitten und löschen von eingaben
13.04.2017 08:02:12
eingaben
Guten morgen,
wenn es keine andere Möglichkeit gibt, versuche ich das mit der Hilfsspalte.
Klasse wäre die Lösung halt wenn alles in Spalte D passieren könnnte.
Ich danke auf jeden Fall für die tolle Hilfe hier im Forum.
Gruß Andreas
Anzeige
AW: Splitten und löschen von eingaben
13.04.2017 08:14:00
eingaben
Hi
Wenn es ums Ver.. an Ort und Stelle passieren muss, geht es natürlich schon. Die andere Variante wäre m.E. schneller.
Sub t()
Dim z As Range
With Range("D1:D" & Cells(Rows.Count, 4).End(xlUp).Row)
.Offset(0, 2).Formula = "=MID(D1,6,2)*1"
.Offset(0, 2).Value = .Offset(0, 2).Value
.Offset(0, 7).Formula = "=IF(FIND(""BH1"",D1),1,0)"
.Offset(0, 7).Value = .Offset(0, 7).Value
For Each z In .Cells
z = Right(z, Len(z) - InStr(1, z, "_"))
Next z
End With
End Sub

cu
Chris
Anzeige
AW: Splitten und löschen von eingaben
13.04.2017 08:24:23
eingaben
Ja super ich danke vielmals und werde das Forum definitiv weiterempfelen.
Gruß
AW: Splitten und löschen von eingaben
13.04.2017 08:51:32
eingaben
nur noch eine Frage:
der gibt mir einen Fehler aus bei der wenn Funktion wenn der nicht findet(#wert!) der sollte aber "0" ausgeben. wo ist der Fehler dabei?
AW: Splitten und löschen von eingaben
13.04.2017 09:08:57
eingaben
Hallo,
dann mach doch ein WENNFEHLER um die Formel.
Gruß Werner
Anzeige
AW: Splitten und löschen von eingaben
13.04.2017 09:45:52
eingaben
Auf die Formel von Michael umgestellt:
Sub t()
Dim z As Range
With Range("D1:D" & Cells(Rows.Count, 4).End(xlUp).Row)
.Offset(0, 2).Formula = "=MID(D1,6,2)*1"
.Offset(0, 2).Value = .Offset(0, 2).Value
.Offset(0, 7).Formula = "=IF(NOT(ISERROR(FIND(""BH1"",D1,1))),1,0)"
.Offset(0, 7).Value = .Offset(0, 7).Value
For Each z In .Cells
z = Right(z, Len(z) - InStr(1, z, "_"))
Next z
End With
End Sub

cu
Chris
Anzeige
AW: Oder mit Array und ohne Formeln...
13.04.2017 10:01:59
Michael
Hallo!
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.ActiveSheet
Dim a, i&
Application.ScreenUpdating = False
With Ws
a = .Range("D1:D" & .Cells(.Rows.Count, 4).End(xlUp).Row)
ReDim Preserve a(LBound(a, 1) To UBound(a, 1), 1 To 4)
For i = LBound(a, 1) To UBound(a, 1)
a(i, 2) = Mid(a(i, 1), InStr(1, a(i, 1), "_") + 1, Len(a(i, 1)))
a(i, 3) = Mid(a(i, 1), 6, 2)
If Mid(a(i, 1), 8, 3) = "BH1" Then
a(i, 4) = 1
Else: a(i, 4) = 0
End If
Next i
For i = LBound(a, 1) To UBound(a, 1)
.Cells(i, 4) = a(i, 2)
.Cells(i, 6) = a(i, 3)
.Cells(i, 11) = a(i, 4)
Next i
End With
Set Wb = Nothing
Set Ws = Nothing
Erase a
End Sub
LG
Michael
Anzeige
AW: Splitten und löschen von eingaben
12.04.2017 16:14:41
eingaben
Hallo!
A1 = 0HKVA15BH1_Raumname
D1 = =TEIL(A1;SUCHEN("_";A1;1)+1;LÄNGE(A1))
F1 = =TEIL(A1;6;2)
K1 = =WENN(NICHT(ISTFEHL(FINDEN("BH1";A1;1)));1;0)

Ohne Schaltfläche natürlich ;-).
LG
Michael
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige