Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zelleninhalt mit VBA bearbeiten und verändern

Zelleninhalt mit VBA bearbeiten und verändern
29.09.2014 10:25:04
Lona
Hallo,
ich bin noch sehr unerfahren mit VBA, aber vielleicht kann mir hier im Forum jemand helfen.
Ich habe in meiner Excel-Tabelle eine Zelle in der Text steht. Innerhalb dieses Textes suche ich bestimmte Wörter, die nun komplett groß geschrieben werden sollen. Nun soll der gesamte Text plus der Änderung in einer neuen Zelle eingefügt werden.
Beispiel:
Ich habe den Text: "Jeden Samstag und Sonntag gehe ich spazieren"
Nun sollen Samstag und Sonntag komplett groß geschrieben und in einer neuen Zelle soll nun stehen: "Jeden SAMSTAG und SONNTAG gehe ich spazieren"
Ich kenne nicht die Stelle, an der das betreffende Wort steht und weiß auch nicht wie viele Zeichen danach folgen.
Meine Überlegungen gehen bisher soweit:
Ich speicher den Inhalt der Zelle in einer Variable zwischen. Suche in der Variablen nach dem Wort "Samstag", überprüfe an der wie vielten Stelle es im Text steht. Schreibe "SAMSTAG". Nun speichere ich in einer Variable den Text vor "Samstag", "SAMSTAG" und den Text nach "Samstag" zwischen. Und mache das gleiche für Sonntag. Diese Variable gebe ich nun in einer anderen Zelle wieder aus.
Kann mir jemand sagen mit welchen Befehlen ich das bewerkstelligen kann?
LG,
Lona

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
geht auch mit Formel
29.09.2014 10:34:30
Matthias
Hallo
Dazu braucht man nicht unbedingt VBA
 B
3Jeden Samstag und Sonntag gehe ich spazieren
4Jeden SAMSTAG und SONNTAG gehe ich spazieren

Formeln der Tabelle
ZelleFormel
B4=WECHSELN(WECHSELN(B3;"Samstag";"SAMSTAG");"Sonntag";"SONNTAG")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
AW: Zelleninhalt mit VBA bearbeiten und verändern
29.09.2014 10:36:02
yummi
Sub testreplace() Dim Var As String Var = ActiveSheet.Cells(1, 3).Value ActiveSheet.Cells(3, 3).Value = Replace(Var, "Samstag", "SAMSTAG") End Sub Eine ganz einfache Version ohne Überprüfung und alles, die kannst Du weiter ausschmücken.
Gruß
yummi

AW: Zelleninhalt mit VBA bearbeiten und verändern
29.09.2014 10:39:13
Martin
Hallo Lona,
ich habe einen VBA-Code geschrieben, den du als Formel verwenden kannst:
Function Big(rngCell As Range, varWords As String) As String
Dim strCellValue As String
Dim i As Integer, arrWords As Variant
strCellValue = rngCell.Text
arrWords = Split(varWords, ";")
For i = 0 To UBound(arrWords)
strCellValue = Replace(strCellValue, arrWords(i), UCase(arrWords(i)))
Next i
Big = strCellValue
End Function
Wenn in Zelle A1 dein Text steht, schreibst du einfach folgende Formel in deine Zelle:
=big(A1;"Samstag;Sonntag")
Viele Grüße
Martin

Anzeige
mit VBA bearbeiten und verändern
29.09.2014 11:05:33
Matthias
Hallo
Hier mal noch eine weitere VBA-Variante
Option Explicit
Sub wechseln()
Dim MyTxT$
With Application.WorksheetFunction
MyTxT = .Substitute(.Substitute(Range("B3"), "Samstag", "SAMSTAG"), "Sonntag", "SONNTAG")
End With
Range("B5") = MyTxT
End Sub
Gruß Matthias
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zelleninhalt mit VBA bearbeiten und verändern


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und deine Arbeitsmappe.

  2. Aktiviere das VBA-Entwicklerwerkzeug:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Erstelle ein neues Modul:

    • Rechtsklicke im Projektfenster auf "VBAProject (deinDateiname)".
    • Wähle EinfügenModul.
  4. Füge den folgenden VBA-Code ein:

    Sub ZelleninhaltAendern()
       Dim Var As String
       Var = ActiveSheet.Cells(1, 1).Value ' Nimm den Zelleninhalt von A1
       Var = Replace(Var, "Samstag", "SAMSTAG") ' Ersetze "Samstag"
       Var = Replace(Var, "Sonntag", "SONNTAG") ' Ersetze "Sonntag"
       ActiveSheet.Cells(2, 1).Value = Var ' Ausgabe in A2
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus:

    • Drücke ALT + F8, wähle ZelleninhaltAendern und klicke auf Ausführen.

Jetzt wird der Text in der Zelle A1 bearbeitet und das Ergebnis in A2 angezeigt.


Häufige Fehler und Lösungen

  • Fehler: "Sub oder Funktion nicht definiert"
    Lösung: Stelle sicher, dass der Name des Sub korrekt geschrieben ist und dass du das Makro korrekt ausführst.

  • Fehler: Der Text wird nicht ersetzt
    Lösung: Überprüfe, ob die zu ändernden Wörter genau so im Text stehen. Achte auf Groß- und Kleinschreibung.


Alternative Methoden

Du kannst den Zelleninhalt auch ohne VBA bearbeiten, indem du Formeln verwendest. Hier ist ein Beispiel:

  • Formel zur Textänderung:

    =WECHSELN(WECHSELN(A1; "Samstag"; "SAMSTAG"); "Sonntag"; "SONNTAG")

Diese Formel ersetzt die Wörter "Samstag" und "Sonntag" direkt in einer Zelle und ist einfach anzuwenden.


Praktische Beispiele

  • Beispiel 1: Einfache Textänderung mit VBA

    Sub Beispiel1()
       ActiveSheet.Cells(1, 1).Value = "Jeden Samstag und Sonntag gehe ich spazieren"
       Call ZelleninhaltAendern
    End Sub
  • Beispiel 2: Mehrere Wörter mit einer Funktion

    Function Big(rngCell As Range, varWords As String) As String
       Dim strCellValue As String
       Dim i As Integer, arrWords As Variant
       strCellValue = rngCell.Text
       arrWords = Split(varWords, ";")
       For i = 0 To UBound(arrWords)
           strCellValue = Replace(strCellValue, arrWords(i), UCase(arrWords(i)))
       Next i
       Big = strCellValue
    End Function

Verwendung in der Zelle:

=big(A1;"Samstag;Sonntag")

Tipps für Profis

  • Nutze Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Versuche, den VBA-Code modular zu halten, indem du Funktionen schreibst, die spezifische Aufgaben erfüllen. So wird dein Code leichter wartbar.
  • Dokumentiere deinen Code mit Kommentaren, um die Lesbarkeit zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Wörter gleichzeitig ersetzen?
Verwende die Replace-Funktion in einer Schleife, um mehrere Wörter nacheinander zu ersetzen, wie im Beispiel gezeigt.

2. Funktioniert das auch in älteren Excel-Versionen?
Ja, die genannten VBA-Techniken und Formeln funktionieren in Excel-Versionen ab Excel 2007. Achte darauf, dass deine Excel-Version Makros unterstützt.

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