Anzeige
Archiv - Navigation
908to912
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
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Objekteigenschaften als Variable

Objekteigenschaften als Variable
18.09.2007 17:32:00
Klaus
Hallo!
Wie kann ich mehrere Objekteigenschaftnamen (stehen z.B. in Zeile 1) als Variable auslesen (Variable = .Size) und dann den Wert (steht in Zeile 2) zuordnen?
Bsp.
Text in Zeile 1: Text in Zeile 2:
".Name" / "Arial"
".Size" / "24"
".Bold" / "False"
usw.

Sub Makro2()
' Makro2 Makro
Sheets(6).Select
Range("D4").Select
For sp = 1 To 2
With Selection.Font
'statt .Size = Cells(2, sp).Value
Variable = Cells(1, sp).Value
Variable = Cells(2, sp).Value
End With
Next sp
End Sub


Gruss Klaus

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

Betreff
Datum
Anwender
Anzeige
AW: Objekteigenschaften als Variable
18.09.2007 23:07:16
Nepumuk
Hallo Klaus,
ein Beispiel:
Public Sub Beispiel()
    Const Property1 = "Name"
    Const Value1 = "Arial"
    Const Property2 = "Size"
    Const Value2 = "24"
    Const Property3 = "Bold"
    Const Value3 = "False"
    CallByName Range("G4").Font, Property1, VbLet, Value1
    CallByName Range("G4").Font, Property2, VbLet, Value2
    CallByName Range("G4").Font, Property3, VbLet, Value3
End Sub

Gruß
Nepumuk

Anzeige
AW: Objekteigenschaften als Variable
19.09.2007 03:00:00
Klaus
Hallo
Danke für deinen Vorschlag.
Aber wie kann ich das ganze mit einer Variable machen - also Spalte für Spalte abarbeiten.
D.h. die Namen für die Eigenschaft stehen in A1 ="Name" und der zugehörige Wert in A2 = "Arial" , B1 = "Size" B2 = "24" usw..
Damit ich die Inhalte der Tabelle nutzen und ändern kann und nicht alles in VBA eingeben muss.
CallByName ohne Const Property1 = "Name"?

Sub Makro2()
' Makro2 Makro
Sheets(6).Select
Range("D4").Select
For sp = 1 To 2
'statt einzeln oder mit End With mit Variable'      Selection.Font.Size = Cells(2, sp).Value
Variable = Cells(1, sp).Value       'Namen der Eigenschaft in Zeile 1 auslesen
Selection.Font.Variable = Cells(2, sp).Value       'Wert aus Zeile 2 zuordnen bzw. setzen
Next sp
End Sub


Anzeige
AW: Objekteigenschaften als Variable
19.09.2007 06:47:42
Nepumuk
Hallo Klaus,
das ist doch nur ein Beispiel damit du siehst, wo was eingesetz werden muss. An Stelle der Konstanten kommen deine Zellwerte. Das ist doch ganz offensichtlich. Eine Konstante ist ja nur eine unflexible Variable.
Gruß
Nepumuk
.

AW: Objekteigenschaften als Variable
19.09.2007 18:46:00
Klaus
Hallo Nepumuk!
Problem gelöst. Ich habe gestern schon versucht die Const durch Variable zu ersetzen (Daher meine Nachfrage). Allerdings kam dann immer eine Fehlermeldung. Nach weiterem probieren habe ich gemerkt das DIM für Value1 gefehlt hat.
Jetzt klappts.
Super und vielen Dank.
Lösung:

Sub Makro2()
Dim Variable As String
Dim Value1 As String
Sheets(1).Select
For sp = 1 To 2
Variable = Cells(1, sp).Value       'Namen der Eigenschaft in Zeile 1 auslesen
Value1 = Cells(2, sp).Value         'Wert der Eigenschaft in Zeile 2 auslesen
CallByName Range("G4").Font, Variable, VbLet, Value1
Next sp
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige