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

Forumthread: VBA- Zahlen die duch 3 im Worksheet teilbar sind!

VBA- Zahlen die duch 3 im Worksheet teilbar sind!
Mustafa
Hallo,
mein Problem ist, dass ich auf dem Worksheet alle Zahlen die 3 teilbar sind dick und rot markiert haben möchte.
Ich konnte als Einstieg den folgenden Modul finden bei der ich aber mit der For Anweisung bis auf eine bestimmte Zahl begrenze also hier mit 25, kann ich hier auch auf unendliche bzw. bis zur Zeilenschluss durchgehen? Sub ToggleBold() Dim i As Integer With Worksheets(1) For i = 1 To 25 With Rows(1) .Font.Bold = Not .Font.Bold .Rows(2).Font.Bold = Not .Font.Bold End With End With End Sub
Anzeige

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

Betreff
Benutzer
Anzeige
AW: VBA- Zahlen die duch 3 im Worksheet teilbar sind!
10.09.2011 07:46:00
BoskoBiati
Hallo,
abgesehen davon, dass man das mit bedingter Formetierung lösen kann, mach aus dem 25 einen anderen Wert. Allerdings müsste es m.E. Rows(i) heißen, da hier ja nur die ersten beiden Zeilen angesprochen werden.
Tabelle2

 A
115243
2238344
3383
445
5391
6390

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
A11. / Formel ist =(A1<>"")*(REST(A1;3)=0)Abc


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Bosko
Anzeige
Unverständlich ...
10.09.2011 09:01:17
Matthias
Hallo
Was hat denn der Code mit dem Teilen durch 3 zu tun ?
Ich sehe da keine Gemeinsamkeit.
Du änderst doch damit nur wechselseitig den Zustand zwischen Zeile1 und Zeile 2
nicht fett/fett
fett/nicht fett
Die For/Next-Schleife benutzt Du auch nicht.
Die Variable i kommt nur in der For-Anweisung vor, also macht das auch keinen Sinn.
Allerdings For ohne Next? geht sowieso nicht.
Also ich verstehe jedenfalls nicht was der Code mit
Zahlen die duch 3 im Worksheet teilbar sind!
zu tun hat.
Du solltest vielleicht klarer ausdrücken was Du wirklich möchtest.


Aus der Hilfe
Mod (Operator)
Gibt den Rest einer ganzzahligen Division zweier Zahlen zurück.
Syntax
Ergebnis = Operand1 Mod Operand2
hier ein Mod-Beispiel

Sub zahl()
Dim zahl&, x&
For x = 1 To 12
zahl = x
If zahl Mod 3 = 0 Then
MsgBox "gesetzte Zahl = " & zahl & vbLf & "Rest von " & x & " durch 3 = " & zahl Mod 3 & " -> _
also durch 3 teilbar!"
End If
Next
End Sub
Ein Beispiel mit Namensdefinition:
https://www.herber.de/bbs/user/76550.xls
Gruß Matthias
Anzeige
AW: Unverständlich ...
10.09.2011 13:27:34
Mustafa
danke für die Antwort....es ist ok!!
hier ein konkretes Beispiel mit 3 Tabellen
10.09.2011 10:31:57
Matthias
Hallo Mustafa
Hab nochmal eine Beispieldatei erstellt.
Durch 3 teilbare Zahlen werden fett und Rot markiert.
https://www.herber.de/bbs/user/76551.xls
Willst Du evtl. vorhandene Nullen ausgrenzen mußt Du nur noch eine Zeile ändern.
If C 0 And C Mod 3 = 0 Then
Gruß Matthias
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA: Alle Zahlen, die durch 3 teilbar sind, im Worksheet markieren


Schritt-für-Schritt-Anleitung

Um alle Zahlen, die durch 3 teilbar sind, in einem Excel-Arbeitsblatt zu markieren, kannst du den folgenden VBA-Code verwenden. Dieser Code durchläuft die Zeilen und prüft, ob die Zahl in der jeweiligen Zelle durch 3 teilbar ist. Wenn dies der Fall ist, wird die Zahl fett und rot formatiert.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Klicke im Menü auf Einfügen und wähle Modul.
  3. Füge den folgenden Code in das Modul ein:
Sub MarkiereZahlenDurch3()
    Dim i As Long
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets(1) ' Arbeitsblatt auswählen

    For i = 1 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Bis zur letzten Zeile
        If ws.Cells(i, 1).Value Mod 3 = 0 Then ' Prüfung auf Teilbarkeit durch 3
            With ws.Cells(i, 1)
                .Font.Bold = True
                .Font.Color = RGB(255, 0, 0) ' Rot färben
            End With
        End If
    Next i
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Anwendung oder Objekt definiert Fehler."

    • Lösung: Stelle sicher, dass du das korrekte Arbeitsblatt angibst und dass die Zellen, die du prüfen möchtest, tatsächlich Zahlen enthalten.
  • Fehler: Zahlen werden nicht korrekt markiert.

    • Lösung: Überprüfe, ob die Zellen, die du prüfst, tatsächlich Zahlen sind. Wenn sie als Text formatiert sind, kann die Modulo-Prüfung fehlschlagen.

Alternative Methoden

Eine alternative Methode, um alle Zahlen, die durch 3 teilbar sind, zu markieren, ist die Verwendung von bedingter Formatierung:

  1. Wähle die Zellen aus, die du formatieren möchtest.
  2. Gehe zu Start -> Bedingte Formatierung -> Neue Regel.
  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden.
  4. Gib die folgende Formel ein: =REST(A1;3)=0 (ersetze A1 durch die erste Zelle deiner Auswahl).
  5. Klicke auf Formatieren, wähle die Schriftart und die Farbe aus und klicke auf OK.

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du den oben genannten VBA-Code verwenden kannst:

  • Wenn du eine Liste von Zahlen in Spalte A hast (z.B. von 1 bis 100), wird das Makro alle Zahlen, die durch 3 teilbar sind (d.h. 3, 6, 9, ...), fett und rot markieren.

Tipps für Profis

  • Du kannst den Code erweitern, um zusätzliche Bedingungen zu überprüfen, wie z.B. negative Zahlen oder Nullen, indem du die If-Bedingung anpasst.
  • Experimentiere mit verschiedenen Formaten, um die Sichtbarkeit der markierten Zahlen zu erhöhen, z.B. Hintergrundfarbe ändern.

FAQ: Häufige Fragen

1. Wann ist eine Zahl durch 3 teilbar?
Eine Zahl ist durch 3 teilbar, wenn der Rest der Division durch 3 gleich 0 ist. Dies kannst du mit der Modulo-Funktion in Excel überprüfen.

2. Kann ich den Code auch für andere Zahlen verwenden?
Ja, du kannst den Modulo-Wert in der If-Bedingung einfach ändern, um Zahlen zu prüfen, die durch andere Werte teilbar sind.

3. Funktioniert dieser Code in allen Excel-Versionen?
Der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2010 und später.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige