Anzeige
Archiv - Navigation
1552to1556
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

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….

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.
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
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ß
Anzeige
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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige