Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schriftgröße als Parameter übergeben

Schriftgröße als Parameter übergeben
09.11.2006 14:29:08
Tom
Hallo,
folgendes Problem habe ich:
Es gibt eine Tabelle, bestehend aus zwei Spalten: Wort - Zahlenwert
Gesucht ist eine Möglichkeit, alle Wörter aus der ersten Spalte in einem anderen Tabellenblatt per Zufall in Tabellenzellen gleichmäßig zu verteilen und das zweite ist, diese einzelnen Wörter sollen die Schriftgröße aus der Zahlenwertspalte bekommen.
Also:
Tabelle1
A1 | A2
--------
WORT| 5
Tabelle2
irgendwo im sichbaren bereich Wort mit der Schriftgröße 5
Ist das überhaupt machbar, und wenn ja wie?
Danke schonmal,
Tom

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

Betreff
Datum
Anwender
Anzeige
AW: Schriftgröße als Parameter übergeben
09.11.2006 14:48:36
Ptonka
Hallo Tom,
probier es mal mit diesem Makro (Kommentare stehen im Makro):
Gruß,
Ptonka
Public Wort As String
Public Größe As Integer

Sub wörter()
'Wörter stehen in den Zellen A1 bis A7
'Die Größe in den Zellen B1 bis B7
For i = 1 To 7
Sheets("Tabelle1").Select
Wort = Cells(i, 1).Value
Größe = Cells(i, 2).Value
'2. Makro, das die Wörter in Tabelle 2 einsetzt aufrufen
Call einsetzen
Next i
End Sub


Sub einsetzen()
Sheets("Tabelle2").Select
neu:
'Zufallszahlen bilden für die Zellen in dem Bereich A1 bis H25
Spalte = Int((8 * Rnd) + 1)
Zeile = Int((25 * Rnd) + 1)
'Sollte die Zelle nicht leer sein, neue Zufallskombination bilden
If Cells(Zeile, Spalte).Value <> "" Then
GoTo neu
End If
'Wort einsetzen und auf dazugehörige Größe formatieren
Cells(Zeile, Spalte).Value = Wort
Cells(Zeile, Spalte).Select
With Selection.Font
.Name = "Arial"
.Size = Größe
End With
End Sub

Anzeige
AW: Schriftgröße als Parameter übergeben
09.11.2006 18:45:52
Tom
wow, das ist genau das,was ich brauche. Vielen Dank! You made my day :)
AW: Schriftgröße als Parameter übergeben
09.11.2006 16:52:24
ingUR
Hallo, Tom,
anbei eine Möglichkeit, die Du nach Deinen Wünschen erweitern kannst:
https://www.herber.de/bbs/user/38025.xls
Option Explicit
Const WS_WORTLIST = "Tabelle1"
Const WS_WORTFELD = "Tabelle2"
Const WORTFELD_MAXC = 8
Const WORTFELD_MAXR = 8
Sub WortPlazieren()
Dim ws0 As Worksheet, ws1 As Worksheet
Dim maxWorte As Long, w As Long, BesetztListe() As Integer
Dim z As Integer, s As Integer
Set ws0 = Worksheets(WS_WORTLIST)
Set ws1 = Worksheets(WS_WORTFELD)
ReDim BesetztListe(WORTFELD_MAXR, WORTFELD_MAXC)
maxWorte = ws0.Cells(Rows.Count, 1).End(xlUp).Row
Randomize
For w = 2 To maxWorte
'Bestimme zufällige Ausgabezeile und -spalte,
'solange, bis ein freies Feld gefunden ist
Do
z = Int(WORTFELD_MAXR * Rnd()) + 1
s = Int(WORTFELD_MAXC * Rnd()) + 1
Loop Until BesetztListe(z, s) = 0
BesetztListe(z, s) = 1
With ws1.Cells(z, s)
.Value = ws0.Cells(w, 1)
.Font.Size = ws0.Cells(w, 2)
End With
Next w
ws1.Select
With Cells
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.Rows.AutoFit
.Columns.AutoFit
End With
Range("A1").Select
Set ws0 = Nothing
Set ws1 = Nothing
End Sub
Ich hoffe die einzelnen Arbeitsschritte des Programms sind nachvollziehbar. Ggf, sind Anpassungen für die Konstantenwerte vorzunehmen. Um nur den Sichtbaenbereich eines Arbeitsblattes zu füllen sind zusätzliche Programmteile erforderlich, die die aktuele Arbeitmappeneinstellung überprüfen. Dies jedoch hier einzubauen, würde den Rahmen der "Anstoßßhilfe" sprengen.
Gruß,
Uwe
Anzeige
AW: Ergänzung
09.11.2006 17:19:15
ingUR
Hallo, Tom,
bitte ersetze die FOR-Zeile durch folgemde Zeile:
For w = 2 To IIf(maxWorte < WORTFELD_MAXR * WORTFELD_MAXC + 1, maxWorte, WORTFELD_MAXR * WORTFELD_MAXC + 1)
da ansonsten eine Endlosschleife droht, wenn die Anzahl der Wörter größer ist, als die der zur Verfügung stehen den Zellen des Feldes.
Gruß!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige