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.

Suchen, Integer finden und verringern, Ersetzen (mit VBA)
#1
Einen schönen Tag alle miteinander,

da dies mein erster Beitrag ist, hoffe ich, dass meine Frage im richtigen Abschnitt dieses Forums gelandet ist - andernfalls weist mich gerne darauf hin.

In meiner Excel-Datei befinden sich im Bereich ("A1:A2000") die verschiedensten Texte. Im Bereich ("B1:B5") befinden sich Buchstaben-/Textkombinationen nach
immer der gleichen Struktur ((1x Buchstabe / 2x Zahl)  z.B. "A23").
Meine Frage lautet nun, ob es möglich ist, die Spalte "A" (wobei diese Kombination immer als Teil eines Größeren vorliegt) nach dieser Kombination zu durchsuchen,
den String vom Integer trennen, den Integer um den Wert 1 zu verringern und anschließend mit dem davor stehenden String den ursprünglichen Text überschreiben.

Hoffentlich, ist mein Anliegen einigermaßen verständlich geschrieben.

Vielen Dank für eure Mühen im Voraus.

Mit freundlichem Gruß

BookShelf1130
Antworten Top
#2
Hallo  b...,

Antwort: Ja

Mehr nur wenn du eine Beispieldatei hochlädst.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#3
Hallöchen,

im Prinzip geht das so. Ich habe hier mit Suchen & Ersetzen alle Treffer in Spalte A ersetzt und anschließend den Wert in B1 um 1 reduziert.

Code:
Sub Makro1()
   Columns("A:A").Select
   Selection.Replace What:=Cells(1, 2), Replacement:=Left(Cells(1, 2), 1) & Cells(1, 2), LookAt:=xlPart, _
       SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False
   Cells(1, 2) = Left(Cells(1, 2), 1) & Right(Cells(1, 2), 2) - 1
End Sub

Ausgangszustand:
Arbeitsblatt mit dem Namen 'Tabelle1'
AB
1A23A23
2BA24
3KA23
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Das Ergebnis sieht dann so aus:
Arbeitsblatt mit dem Namen 'Tabelle1'
AB
1AA23A22
2BA24
3KAA23
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Jetzt müsste man noch eine Schleife Drumherum bauen, damit alle Einträge in Spalte B verarbeitet werden.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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