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

Forumthread: VBA: Zellen auf Bedingung überprüfen & anpassen

VBA: Zellen auf Bedingung überprüfen & anpassen
28.07.2019 19:32:08
Jo
Hallo liebes Forum,
ich habe erst vor kurzem damit begonnen, VBAs zu schreiben.
Nun stecke ich bei folgendem Problem fest und komme einfach nicht weiter:
In Spalte C meiner Tabelle stehen untereinander Artikelnummern, die immer folgendermaßen aufgebaut sind (Z = Zahl):
ZZ.ZZZ-ZZ.ZZ.ZZ
Nun stehen aber in manchen Zellen Artikelnummern, die falsch ins Warenwirtschaftssystem eingegeben wurden, nämlich mit ZZ.ZZZ.ZZ.ZZ.ZZ (also statt Minuszeichen ein Punkt nach dem ZZZ)
Ich möchte nun, dass Excel die Zellen in Spalte C durchläuft (i = 1 To 500) und immer wenn für eine Zelle gilt LEN(Cells(i,3)) - LEN(SUBSTITUTE(Cells(i,3),""."",)) = 4 (also vier Punkte gefunden werden), den zweiten Punkt mittels SUBSTITUTE(Cells(i,3),""."",""-"",2) durch ein "-" ersetzt.
Leider habe ich keine Ahnung, wie man eine Formel auf eine bereits gefüllte Zelle anwendet und in Abhängigkeit des Ergebnisses deren Inhalt wiederum mittels auf sie angewendeter Formel anpasst...
Könnt Ihr mir weiterhelfen? Ich wäre Euch echt total dankbar :-)
Danke und LG Johannes
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zellen auf Bedingung überprüfen & anpassen
28.07.2019 20:42:20
GerdL
Moin Johannes!
Sub Test()
Dim i As Long
For i = 1 To 500
If Mid(Cells(i, 3), 7, 1) = "." Then
Cells(i, 3) = Left(Cells(i, 3), 6) & "-" & Mid(Cells(i, 3), 8)
End If
Next
End Sub

gruß Gerd
AW: VBA: Zellen auf Bedingung überprüfen & anpassen
28.07.2019 21:12:18
Jo
Hi Gerd,
ganz herzlichen Dank, wieder was Wichtiges gelernt :-)
Nur zum Verständnis: Es ist nicht möglich, irgendiwe "meine" Formeln (die mit dem LEN und SUBSTITUTE) auf die Zellen anzuwenden?
LG Johannes
Anzeige
AW: VBA: Zellen auf Bedingung überprüfen & anpassen
28.07.2019 21:37:52
Daniel
Hi
mit deinen Formeln so:
Sub test()
Dim Zelle As Range
For Each Zelle In Range("C1:C500")
If Len(Zelle.Value) - Len(Replace(Zelle.Value, ".", "")) = 4 Then
Zelle.Value = WorksheetFunction.Substitute(Zelle.Value, ".", "-", 2)
End If
Next
End Sub

Gruß Daniel
Anzeige
AW: VBA: Zellen auf Bedingung überprüfen & anpassen
29.07.2019 18:43:22
Jo
Vielen Dank nochmal Gerd und Daniel, hat super funktioniert.
Eine Frage ist heute noch aufgekommen:
Ich habe in Tabellenblatt 1 und in Tabellenblatt 2 jeweils in Spalte A eine Vielzahl von Artikelnummern (so etwa A1:A500). Nun möchte ich, dass eine Artikelnummer, die in Spalte A auf Tabellenblatt 2 steht und gleichzeitig auch in Spalte A im Tabellenblatt 1 vorkommt, grün markiert wird, also ein Zellen-Inhaltsvergleich.
Könntet ihr mir hier nochmal helfen?
Danke und LG,
Johannes
Anzeige
AW: VBA: Zellen auf Bedingung überprüfen & anpassen
31.07.2019 19:24:20
Daniel
Hi
Bedingte Formatierung mit Spalte A, Formel als Regel: =ZählenWenn(AnderesBlatt!A:A;A1)
Gruß Daniel
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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