Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Objekteigenschaften mit Variablen ansprechen
#1
Guten Abend allerseits,

ich scheitere gerade an folgendem Vorhaben:
Ich möchte für ein Excelobjekt (= ein neues Blatt) dessen Name sowie Farbe des Tabellenreiters als Teile einer Eigenschaftsliste ansprechen.

Die Liste "Werte"  ("C8:D9") hält für Name und TabColorIndex die Werte bereit.

Um anzudeuten, was laufen soll, dieser Kurz-Code
Code:
Sub test()

Dim var As Variant
Dim sh As Worksheet

ReDim var(1 To 2, 1 To 2)

var = Range("Werte")

Set sh = ThisWorkbook.Sheets.Add

With sh

   .Name = var(1, 2)
   .Tab.ColorIndex = var(2, 2)

End With

Debug.Print

Tabelle1.Select

End Sub
Nun aber möchte ich  die Eigenschaften selbst mit meiner Auflistung ansprechen und es sollte in etwas so etwas ablaufen (was eben nicht funktioniert):
Code:
Sub test_Läuft_nicht()

Dim var As Variant
Dim sh As Worksheet
Dim z As Integer
ReDim var(1 To 2, 1 To 2)

var = Range("Werte")

Set sh = ThisWorkbook.Sheets.Add

For z = 1 To 2

   sh& "." & var(z, 1) = var(z, 2)

Next z

Debug.Print

Tabelle1.Select

End Sub
Kennt jemand von euch einen Weg, wie sich so etwas bewerkstelligen lässt?
Vielen Dank schon mal und schönen Abend.
(Und ich hoffe, ich konnte mein Anliegen einigermaßen verständlich erklären
Gruß
Ludwig


Angehängte Dateien
.xlsm   LB1972_20191210_ObjektEigenschaften_Variablen.xlsm (Größe: 22,82 KB / Downloads: 3)
Antworten Top
#2
Hallo,

m.E. geht das nicht:

Zitat:sh& "." & var(z, 1) = var(z, 2)

Es müßte eher so sein (ungeprüft)
Code:
sh.name = var(1,1)
sh.color = var(2,1)

mfg

(PS: Anhang konnte nicht gelöscht werden)
Antworten Top
#3
Hi

ich denke du suchst im Prinzip das hier.  CallByName

Code:
Set sh = ThisWorkbook.Sheets.Add
CallByName sh, Sheets("Tabelle1").Cells(8, 3), 4, Sheets("Tabelle1").Cells(8, 4)
CallByName sh.Tab, Sheets("Tabelle1").Cells(9, 3), 4, Sheets("Tabelle1").Cells(9, 4)


In C9 steht jetzt nicht Tab.ColorIndex sondern nur noch ColorIndex.
Musst du halt noch etwas experimentieren.

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • LB1972
Antworten Top
#4
Hallo Elex,

Blattschuss!

Danke, selbstverständlich auch an Fennek

Grüße Ludwig
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste