generieren Sie sich #gutevorsaetze2015

Sie wissen noch immer nicht, was Sie sich fürs nächste Jahr so vornehmen sollen? Dann generieren Sie sich was:

Tipp Excel Vorsatzgenerator1

In die Spalten A bis D kommen beliebig viele Zeitergänzungen / Adjektive im Plural / Nomen im Plural / Verben im Infinitiv. (Bezüglich dieser Fachwörter fragen Sie Ihre Kinder 🙂 ). Der Rest ist Programmierung – also ab in die VBA-Oberfläche (am besten mit Alt+F11), und dann folgenden Code in das Modul zur Tabelle1 kopiert:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call Ausgabe
End Sub
Private Sub Ausgabe()
Randomize Timer
MsgBox Range("A" & Int(Range("A1").End(xlDown).Row * Rnd + 1)) & " " _
& Range("B" & Int(Range("B1").End(xlDown).Row * Rnd + 1)) & " " _
& Range("C" & Int(Range("C1").End(xlDown).Row * Rnd + 1)) & " " _
& Range("D" & Int(Range("D1").End(xlDown).Row * Rnd + 1)) & ".", vbOKOnly, "Vorsatz"
End Sub

Bissi Erklärung: Wenn Sie die Auswahl auf dem Tabellenblatt ändern, startet die Ereignisprozedur Selection_Change automatisch. Die ruft die Prozedur Ausgabe auf. Hier wird mit MsgBox eine Textwurst ausgegeben, die einen beliebigen Eintrag aus allen ausgefüllten Zellen der Spalte A mit einem beliebigen Eintrag aus allen ausgefüllten Zellen der Spalte B, …C, D verknüpft. Die Nummer der jeweiligen Zeile wird dabei so ermittelt:

  • Range(„A1“).End(xlDown).Row liefert die Nummer der letzten gefüllten Zeile in der Spalte A.
  • Das Ergebnis wird mit einer Zufallszahl zwischen 0 und 1 multipliziert, sauber geliefert von der Funktion Rnd.
  • 1 muss dazugezählt werden, damit das Ergebnis größer als 0, aber kleiner als die Zeilennummer der ersten leeren Zeile ist.
  • Mit Int wird davon der Ganzzahlanteil ermittelt – also weg mit dem Kleinzeug nach dem Komma.
  • Range(„A“ & das, was soeben entstanden ist, liefert nun den Inhalt einer zufällig ausgewählten Zelle aus dem durchgehend ausgefüllten Bereich unter A1.

Hier finden Sie die Datei dazu, als Beispiel und gefüllt mit guten Vorsatzideen.
GUTEN RUTSCH!