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

Forumthread: Zelle nach Zufall färben

Zelle nach Zufall färben
Dieter(Drummer)
Hi Spezialisten,
ich suche eine Möglichkeit per bedingter Formatierung oder lieber per VBA Makro folgendes:
In dem Bereich A2:G8 stehen NUR Zahlen. In diesem Bereich sollen nach Zufall 6 Zellen (evtl. verteilt) sich gelb färben.
Auslösen würde ich das Makro per Button.
Freue mich, wenn es eine Lösung gibt. Danke für's drum kümmern und
Gruß, Dieter(Drummer)

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zelle nach Zufall färben
17.09.2012 18:48:36
Josef

Hallo Dieter,
Sub randomColor()
  Dim rng As Range
  Dim strAddress() As String
  Dim lngRnd As Long, lngIndex As Long
  
  With Range("A2:G8")
    .Interior.ColorIndex = xlNone
    Redim strAddress(1 To .Count)
    For lngIndex = 1 To .Count
      strAddress(lngIndex) = .Cells(lngIndex).Address
    Next
  End With
  
  Randomize Timer
  
  For lngIndex = 1 To 6
    lngRnd = Int((UBound(strAddress)) * Rnd + 1)
    If rng Is Nothing Then
      Set rng = Range(strAddress(lngRnd))
    Else
      Set rng = Union(rng, Range(strAddress(lngRnd)))
    End If
    strAddress(lngRnd) = strAddress(UBound(strAddress))
    Redim Preserve strAddress(1 To UBound(strAddress) - 1)
  Next
  
  rng.Interior.Color = vbYellow
  
  Set rng = Nothing
End Sub




« Gruß Sepp »

Anzeige
AW: Danke Sepp, einfach perfekt!
17.09.2012 19:05:46
Dieter(Drummer)
Vielen Dank Sepp,
funktioniert perfekt und Danke für die schnelle Lösung!
Gruß
Dieter(Drummer)

AW: Zelle nach Zufall färben
17.09.2012 18:50:33
Matze,Matthias
Hallo Dieter,
meinst du sobald du dort in diesem Bereich eine Zahl eingibst, soll diese gelb hinterlegt werden?
Gruß Matze

AW: Dir auch Danke , Matze ...
17.09.2012 19:09:22
Dieter(Drummer)
... fürs drum kümmern. Die VBA Lösung von Sepp habe ich getestet und funktioniert prima.
Nur zu Erklärung. Es stehen schon Zahlen drin und es sollten per Zufallsprinzip 6 Zellen in dem Bereich eingefärbt werden. Es klappt.
Gruß
Dieter(Drummer)

Anzeige
ohne Makro
17.09.2012 19:21:01
Christian
Hallo Dieter,
mit bedingter Formatierung und Hilfsspalten:
Tabelle1

 ABCDEFGHIJK
1         1818
2         2319
3         1923
4         3324
5         3833
6         2438
7           

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
A21. / Formel ist =ISTZAHL(VERGLEICH(((REST((ZEILE(A1)-1);49)+1)+(ZEILE(A1)-1)*6)+SPALTE(A1)-1;ber_1;0))Abc
Namen in Formeln
ZelleNameBezieht sich auf
A2ber_1=Tabelle1!$K$1:$K$6
Namen verstehen


Tabelle1

 JK
11818
22319

Formeln der Tabelle
ZelleFormel
J1=GANZZAHL(ZUFALLSZAHL()*49)+1
K1=MIN(J1:J6)
J2=GANZZAHL(ZUFALLSZAHL()*49)+1
K2=WENN(KKLEINSTE($J$1:$J$6;ZEILE())<=K1;K1+1;KKLEINSTE($J$1:$J$6;ZEILE()))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
MfG Christian

Anzeige
AW: Danke dir Christian ...
17.09.2012 19:54:04
Dieter(Drummer)
... auch eine praktikable Lösung. Ich bevorzuge die Lösung von Sepp.
Danke für deine Lösung und
Gruß, Dieter(Drummer)
;
Anzeige
Anzeige

Infobox / Tutorial

Zelle nach Zufall färben in Excel


Schritt-für-Schritt-Anleitung

Um Zellen in einem bestimmten Bereich zufällig gelb zu färben, kannst Du entweder ein VBA-Makro oder bedingte Formatierungen verwenden. Hier erklären wir beide Methoden.

VBA-Makro

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul.
  3. Füge den folgenden Code in das Modul ein:
Sub randomColor()
    Dim rng As Range
    Dim strAddress() As String
    Dim lngRnd As Long, lngIndex As Long

    With Range("A2:G8")
        .Interior.ColorIndex = xlNone
        Redim strAddress(1 To .Count)
        For lngIndex = 1 To .Count
            strAddress(lngIndex) = .Cells(lngIndex).Address
        Next
    End With

    Randomize Timer

    For lngIndex = 1 To 6
        lngRnd = Int((UBound(strAddress)) * Rnd + 1)
        If rng Is Nothing Then
            Set rng = Range(strAddress(lngRnd))
        Else
            Set rng = Union(rng, Range(strAddress(lngRnd)))
        End If
        strAddress(lngRnd) = strAddress(UBound(strAddress))
        Redim Preserve strAddress(1 To UBound(strAddress) - 1)
    Next

    rng.Interior.Color = vbYellow
    Set rng = Nothing
End Sub
  1. Schließe den VBA-Editor und füge einen Button in Dein Arbeitsblatt ein, um das Makro auszuführen.

Bedingte Formatierung

  1. Markiere den Bereich A2:G8.
  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:
=ZUFALLSBEREICH(1;6)=1
  1. Klicke auf Formatieren, wähle die Füllfarbe Gelb und klicke auf OK.

Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Überprüfe, ob Makros in Deinen Excel-Einstellungen aktiviert sind.
  • Fehler: Zellen färben sich nicht.

    • Stelle sicher, dass Du im richtigen Bereich arbeitest (A2:G8).
  • Fehler: Bedingte Formatierung zeigt keine Farben.

    • Prüfe die Formel auf Syntaxfehler und stelle sicher, dass die Zellen tatsächlich Werte enthalten.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch Excel-Formeln in Hilfsspalten nutzen, um zufällige Farben zu generieren. Eine Möglichkeit wäre, Zufallszahlen in Hilfsspalten zu erzeugen und dann die bedingte Formatierung darauf anzuwenden.

  1. Erstelle eine Hilfsspalte (z.B. H2:H8) und füge die Formel =ZUFALLSZAHL() ein.
  2. Verwende dann die bedingte Formatierung basierend auf den Werten in dieser Hilfsspalte.

Praktische Beispiele

Beispiel 1: VBA-Makro

Wenn Du das Makro ausführst, werden 6 zufällig ausgewählte Zellen in dem Bereich A2:G8 gelb gefärbt. Dies ist besonders nützlich in Berichten, wo Du bestimmte Daten hervorheben möchtest.

Beispiel 2: Bedingte Formatierung

Wenn Du die bedingte Formatierung anwendest, kannst Du die Zellen basierend auf anderen Bedingungen färben, z.B. wenn der Wert größer als 50 ist.


Tipps für Profis

  • Nutze Randomize vor der Zufallszahlengenerierung, um sicherzustellen, dass die Ergebnisse nicht vorhersehbar sind.
  • Experimentiere mit verschiedenen Farbwerten, um die Zellen nach Deinen Bedürfnissen zu gestalten.
  • Verknüpfe das Makro mit einem Button, um die Anwendung zu erleichtern, wenn Du oft die Farben ändern musst.

FAQ: Häufige Fragen

1. Kann ich die Anzahl der Zellen, die gefärbt werden, ändern? Ja, ändere einfach die Zahl in der For-Schleife des VBA-Codes von 6 auf die gewünschte Anzahl.

2. Funktioniert das auch in Excel für Mac? Ja, die VBA-Methode funktioniert auch in der Mac-Version von Excel, solange Du den VBA-Editor öffnen kannst.

Wenn Du weitere Fragen hast oder Unterstützung benötigst, zögere nicht zu fragen. Danke fürs Drum kümmern!

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige