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

Text in Zelle per VB durchstreichen & be...

Forumthread: Text in Zelle per VB durchstreichen & be...

Text in Zelle per VB durchstreichen & be...
09.10.2006 12:15:38
Klaus
stimmte Zellen dann auf Null setzen?
Hallo allerseits, habe heute mal wieder ein Frage an die geschätzten Experten!
Ich versuche in VB einen bestimmten Ablauf per Button zu automatisieren. Es soll eine von mir per Cursor selektierte Zelle(die Zelle ist mit Text gefüllt), wie z.B. "A1" per Button durchgestrichen werden. Dann sollen die Zellen "A2" bis "A5" mit dem Wert "0" gefüllt, und die Zellen "A6" bis "A8" mit dem Wert "1" gefüllt werden (A2 bis A8 sind einfache Zahlenzellen).
Das wars...
Danke & Mfg,
Klaus
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Zelle per VB durchstreichen & be...
09.10.2006 12:24:32
Ossburn
Hallo Klaus!
Das ist die Lösung:

Sub CommandButton1_Click()
Range("A1").Font.Strikethrough = True
Range("A2:A5").Value = 0
Range("A6:A8").Value = 1
End Sub

Grüße
Ossburn
AW: Muss noch erweitert werden...
09.10.2006 13:58:14
Klaus
Danke soweit, das ist schon gut. Wieder was gelernt.
Aber, leider muss ich das ganze doch noch ein wenig ändern und erweitern.
Wie kann man es so abändern, das automatisch die Zeile erkannt wird, und dann die entsprechenden Zellen rechts daneben ändern?
Also, wenn der Cursor bei "A1" steht, sollen (ähnlich wie oben gehabt) die Zellen "B1" bis "C1" auf "0" geändert, und bei "D1" bis "E1" auf "1" geändert werden.
Aber wenn ich mit dem Cursor z.B. in die Zeile 5 gehe, also "A5", dann soll er das ganze bei "B5" bis "C5" mit "0" füllen, und bei "D5" bis "E5" mit "1".
Es soll also immer Cursor-abhängig in der Spalte A sein. Je nachdem wo der Cursor sich aufhält, werden die Zellen rechts daneben geändert. Es muss irgendwie die Position ermittelt werden...?
Gruß,
klaus
Anzeige
AW: Muss noch erweitert werden...
11.10.2006 16:20:51
Bertram
Hallo Klaus,
etwa so (funktioniert nur, wenn EINE Zelle markiert ist. Die muss nur in der richtigen Zeile sein, nicht in unbedingt in Spalte A):

Private Sub CommandButton1_Click()
Dim Zeile As Long
Zeile = Selection.Row
Cells(Zeile, 1).Font.Strikethrough = True
Range(Cells(Zeile, 2), Cells(Zeile, 3)).Value = 0
Range(Cells(Zeile, 4), Cells(Zeile, 5)).Value = 1
End Sub

Gruß
Bertram
Anzeige
;

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

Infobox / Tutorial

Text in Excel-Zellen durchstreichen und Werte automatisch ändern


Schritt-für-Schritt-Anleitung

Um in Excel Text in einer Zelle durchzustreichen und gleichzeitig benachbarte Zellen mit Werten zu füllen, kannst Du VBA (Visual Basic for Applications) verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul ein, indem Du im Menü auf Einfügen und dann auf Modul klickst.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub CommandButton1_Click()
       Dim Zeile As Long
       Zeile = Selection.Row
       Cells(Zeile, 1).Font.Strikethrough = True
       Range(Cells(Zeile, 2), Cells(Zeile, 3)).Value = 0
       Range(Cells(Zeile, 4), Cells(Zeile, 5)).Value = 1
    End Sub
  4. Füge einen Button auf Deinem Arbeitsblatt hinzu und verlinke ihn mit dem Makro.

  5. Wähle eine Zelle in der gewünschten Zeile aus und klicke auf den Button. Der Text in der ersten Zelle wird durchgestrichen, und die Zellen daneben werden entsprechend gefüllt.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Stelle sicher, dass Du die richtige Zelle ausgewählt hast und dass nur eine Zelle markiert ist.
  • Problem: Der durchgestrichene Text wird nicht angezeigt.

    • Überprüfe, ob die Schriftart in der Zelle nicht die Formatierung des durchgestrichenen Textes überschreibt.
  • Fehler: Die Werte werden nicht aktualisiert.

    • Achte darauf, dass der Code korrekt kopiert wurde und dass die Zellen im richtigen Bereich liegen.

Alternative Methoden

Wenn Du keine VBA-Lösung nutzen möchtest, kannst Du auch die Excel-Funktion „Bedingte Formatierung“ verwenden:

  1. Markiere die Zelle, die Du formatieren möchtest.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“ und gib eine passende Formel ein, um die Zelle durchzustreichen, wenn bestimmte Bedingungen erfüllt sind.

Diese Methode eignet sich vor allem, wenn Du keine Programmierkenntnisse hast.


Praktische Beispiele

  1. Durchstreichen einer Zelle bei einer bestimmten Bedingung:

    • Erstelle eine Bedingung, die den Text in Zelle A1 durchstreicht, wenn der Wert in B1 größer als 10 ist.
    If Cells(1, 2).Value > 10 Then
       Cells(1, 1).Font.Strikethrough = True
    End If
  2. Automatisches Füllen von Werten:

    • Ändere den Code, um Zellen in einer anderen Zeile zu füllen, basierend auf der Auswahl.

Tipps für Profis

  • Makros optimieren: Verwende die With-Anweisung, um den Code effizienter zu gestalten.

    With Cells(Zeile, 1)
      .Font.Strikethrough = True
    End With
  • Fehlerbehandlung: Integriere Fehlerbehandlungsroutinen, um sicherzustellen, dass das Makro nicht abstürzt, wenn unerwartete Eingaben gemacht werden.


FAQ: Häufige Fragen

1. Wie kann ich den durchgestrichenen Text in Excel wieder entfernen? Du kannst den durchgestrichenen Text entfernen, indem Du den gleichen VBA-Befehl ohne die Strikethrough-Formatierung ausführst:

Cells(Zeile, 1).Font.Strikethrough = False

2. Funktioniert das bei allen Excel-Versionen? Ja, die VBA-Lösung sollte in den meisten aktuellen Excel-Versionen (Excel 2010 und später) funktionieren, solange die Makros aktiviert sind.

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