Anzeige
Archiv - Navigation
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
428to432
428to432
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auswählen und Markieren

Auswählen und Markieren
14.05.2004 10:07:56
Diana
Hallo!
Ich würde gern aus 35 vorgegebenen Zahlen (in 5 Spalten á 7 Zeilen aufgelistet) 15 Zahlen zufällig auswählen. Diese ausgewählten Zahlen möchte ich dann gern farbig kennzeichnen.
Kann mir einer einen Tip geben, wie man das am besten anstellt. Die Zahlen können auch gern in eine Spalte geschrieben werden, aber die Markierung der Daten muss in dem Raster 5 Spalten/ 7 Zeilen erfolgen.
Vielen Dank im voraus
LG Diana

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

Betreff
Datum
Anwender
Anzeige
AW: Auswählen und Markieren
14.05.2004 10:51:51
Heinz
Hallo Diana,
hier eine Möglichkeit:

Sub Zufall()
Dim Bereich As Range, F As Boolean
Dim s%, z%, i%
Set Bereich = Range("A1:E7")
Bereich.Interior.ColorIndex = xlNone
For i = 1 To 15
F = True
While F = True
z = Int((7 * Rnd) + 1)
s = Int((5 * Rnd) + 1)
If Cells(z, s).Interior.ColorIndex > 1 Then F = True Else F = False
Wend
Cells(z, s).Interior.ColorIndex = 35
Next
End Sub

Gruß
Heinz
AW: Auswählen und Markieren
14.05.2004 11:24:57
Heinz
Hallo Diana,
hier noch eine Möglichkeit, mit der du alles variabel bestimmen kannst. Der Bereich wird ausgewählt, daraus die Zeilenanzahl berechnet, und weiters die Anzahl der gewünschten Auswahlzellen eingegeben.

Sub Zufall3()
Dim Bereich As Range, F As Boolean
Dim s%, z%, i%, za%, ze%, sa%, se%, z1%, s1%, Anz%
Set Bereich = Application.InputBox("Bereich", Type:=8)
Anz = InputBox("Wieviele Zahlen sollen ausgewählt werden?")
za = Bereich.Cells(1).Row
ze = Bereich.Cells(Bereich.Cells.Count).Row
sa = Bereich.Cells(1).Column
se = Bereich.Cells(Bereich.Cells.Count).Column
z1 = ze - za + 1
s1 = se - sa + 1
Bereich.Interior.ColorIndex = xlNone
For i = 1 To Anz
F = True
While F = True
z = Int((z1 * Rnd) + 1)
s = Int((s1 * Rnd) + 1)
If Cells(z + za - 1, s + sa - 1).Interior.ColorIndex > 1 Then F = True Else F = False
Wend
Cells(z + za - 1, s + sa - 1).Interior.ColorIndex = 35
Next
End Sub

Gruß
Heinz
Anzeige
AW: Auswählen und Markieren
14.05.2004 11:13:17
Oberschlumpf
Hi Diana
Und hier noch ne Variante :-)


Sub BereichFarbig()
    Dim liZeile As Integer, lstrSpalte As String, larstBereich(14) As String
    Dim liAnzahl As Integer, liZaehler As Integer, liSuche As Integer, lboVorhanden As Boolean
    Dim liFarbe As Integer
    
    Range("A1:E7").Interior.ColorIndex = xlNone
    
    Do Until liZaehler = 15
        Randomize Timer
        
        liZeile = Int((7) * Rnd + 1)
        lstrSpalte = Int((69 - 65 + 1) * Rnd + 65)
            For liSuche = 0 To liZaehler
                If larstBereich(liSuche) = Chr(lstrSpalte) & liZeile Then
                    lboVorhanden = True
                    Exit For
                End If
            Next
            
                If lboVorhanden = True Then
                        lboVorhanden = False
                    Else
                        larstBereich(liZaehler) = Chr(lstrSpalte) & liZeile
                        liZaehler = liZaehler + 1
                End If
        
    Loop
        For liFarbe = 0 To 14
            Range(larstBereich(liFarbe)).Interior.ColorIndex = 6
        Next
End Sub


In diesem Bsp ist der Bereich, um den es geht A1:E7
Wenn Du einen anderen Bereich einfärben möchtest, musst Du diese Zeilen anpassen:
lstrSpalte = Int((69 - 65 + 1) * Rnd + 65)
liZeile = Int((7) * Rnd + 1)
In der 1. Zeile wird der numerische Wert für den jeweiligen Spaltenbuchstaben ermittelt.
65 = A
66 = B
67 = C
68 = D
69 = E
usw.
Die 2. Zeile bestimmt die maximal unterste Zeile, hier 7.
Ciao
Thorsten
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige