Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Zufallgenerator Rezepte

Betrifft: Zufallgenerator Rezepte von: MrCombs
Geschrieben am: 06.11.2014 13:55:25

Hallo Zusammen

Ich möchte ein Programm erstellen, das mir per Zufall jede Woche an vier Tage eine Liste von Lebensmitteln ausgibt. (Siehe Tabelle)

https://www.herber.de/bbs/user/93595.xlsm

Ich habe dabei einige Probleme:
1. Bei Jedem Start des Programms wird die Liste neu erstellt, was nicht erwünscht ist. Wie kann ich das abstellen? (Manuelle Berechnung hat keinen Erfolg gebracht)
2. Ich möchte nach dem Betätigen des Buttons das Programm für zB 4 Tage sperren, so dass das nächte Betätigen des Buttons erst in 4 tage erfolgen kann.
3. Optional würde ich die Wiederholung von Lebensmitteln in einer Woche ausschließen.

Danke

  

Betrifft: AW: Zufallgenerator Rezepte von: Rudi Maintaire
Geschrieben am: 06.11.2014 14:23:56

Hallo,
per Code statt per Formel:

Sub aaaa()
  Dim i As Integer
  If Date > Range("C1") + 3 Then
    With Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Offset(, 500)
      .Formula = "=ranD()"
      .Value = .Value
    End With
    For i = 1 To 4
      Cells(i + 6, 3) = _
        WorksheetFunction.Index(Columns(1), _
        WorksheetFunction.Match( _
        WorksheetFunction.Small(Columns(501), i), Columns(501), 0))
    Next
    Range("C1") = Date
    Columns(501).Clear
  Else
    MsgBox "Nächster Aufruf am " & Format(Range("C1") + 4, "DD.MM.YYYY")
  End If
End Sub

Gruß
Rudi


  

Betrifft: AW: Zufallgenerator Rezepte von: MrCombs
Geschrieben am: 06.11.2014 16:06:13

Hallo

Es funktioniert prima!

Danke Rudi