Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro um Werte zu ersetzen
#1

.xlsx   Fahrzeugliste.xlsx (Größe: 16,42 KB / Downloads: 7) Hallo und guten Morgen,

gibt es eine Möglichkeit, in der beigefügten Datei durch ein Makro folgendes zu erledigen:

Im Blatt "Umlaufliste" soll das Makro ab A2 bis zum Ende der Liste schauen, ob dort ein Wert in
Klammern steht: 1 (1101) zum Beispiel 

Ist dies der Fall, soll der ganze Inhalt dieser Zelle gelöscht und durch den Wert in der Klammer ersetzt werden.

Aus 1 (1101) soll quasi 1101 entstehen.
Aus 1 (1117) soll quasi 1117 entstehen.

Wie könnte man das lösen?

Viele Grüße
Andreas
Antwortento top
#2
Hallo,

der Makrorekorder ist dein Freund.
Code:
Sub Makro1()
Columns("A").Replace What:="* (", Replacement:=""
Columns("A").Replace What:=")", Replacement:=""
End Sub

Gruß Werner
[-] Folgende(r) 1 Benutzer sagt Danke an Werner.M für diesen Beitrag:
  • ari-2001
Antwortento top
#3
Hallo Ari,

teste mal anliegendes Makro:
Option Explicit

Sub Test1()
 Dim iZeile As Long, sArr() As String
 
 For iZeile = 2 To Cells(Rows.Count, "A").End(xlUp).Row
   sArr = Split(Cells(iZeile, "A").Value, "(")
   If UBound(sArr) > 0 Then
    Cells(iZeile, "B").Value = Split(sArr(1), ")")(0)
   End If
 Next iZeile
End Sub


Sub Test2()
'Kommazahlen werden auch aufgeteilt, nur erster Wert
 Dim iZeile As Long, sArr() As String
 
 For iZeile = 2 To Cells(Rows.Count, "A").End(xlUp).Row
   sArr = Split(Cells(iZeile, "A").Value, "(")
   If UBound(sArr) > 0 Then
    Cells(iZeile, "B").Value = Split(Split(sArr(1), ")")(0), ",")(0)
   End If
 Next iZeile
End Sub


viele Grüße aus Freigericht
Karl-Heinz
[-] Folgende(r) 1 Benutzer sagt Danke an volti für diesen Beitrag:
  • ari-2001
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste