Clever-Excel-Forum

Normale Version: Zelleninhalt nach Eigenschaft schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
möchte gerne einen Zelleninhalt in eine bestimmte erweiterte Eigenschaft schreiben.
Geht das wirklich nur über ein Macro?
Gibt es da keine einfache Funktion wie   Param1=A1 oder sowas?

Ich will nur das der Inhalt der Zelle egal ob Text oder Zahl in die Eigenschaft geschrieben wird.

Bitte helft mir?
Im vorraus Danke!!!

Gruß
Heiko
Hallo,

teste mal diesen Code:

Code:
Sub CustomProperties()
On Error Resume Next
Dim DProp As DocumentProperties
Dim Prop As DocumentProperty

Set DProp = ThisWorkbook.CustomDocumentProperties

Tx = Array("Text1", "Text2", "Text3")
Vx = Array("Message", 42, #6/8/2020#)
Cells(1, 1).Resize(3) = Application.Transpose(Tx)
    
    Set DProp = DProp.Add(CStr(Tx(0)), False, msoPropertyTypeString, CStr(Vx(0)))
    Set DProp = DProp.Add(CStr(Tx(1)), False, msoPropertyTypeNumber, CInt(Vx(1)))
    Set DProp = DProp.Add(Tx(2), False, msoPropertyTypeString, Vx(2))

On Error GoTo 0
End Sub

Sub Lesen()
Dim CP As DocumentProperty

For Each CP In ThisWorkbook.CustomDocumentProperties
    Debug.Print CP.Name, CP.Value
Next CP
End Sub

mfg
Erst einmal Danke,
verstehen tu ich das nicht wirklich.

Warum... Das script erzeugt zwar in den ersten 3 Zellen die Inhalte "Text1 , 2 ,3" , erzeugt aber kein Propertie mit diesen Inhalten.

Das ist aber das was ich brauche.

Habe ich ein Gedankenfehler?

Ach nochwas.... Was ich meine sind die erweiterten Eigenschaften im Tab Anpassen. Dort sollte dann das Attribute mit dem Inhalt der Zelle zu sehen sein.
Der Code schreibt die Werte der Array's Tx und Vx.

Wenn keine Beispieldatei geliefert wird, mache ich mir selbst ein paar Daten. CustomProperties brauchen 2 Werte: den Namen und den Value.

Ich hoffe, du kannst den Code von den Array zu Zellen umschreiben.

Btw: Man kann die Properties nur einmal anlegen, der 2. Versuch führt zu einem Fehler.
Hallo,
das hier funktioniert...

ActiveWorkbook.CustomDocumentProperties("Attributname") = "Wert"




Warum man das aber allgmein nur als Macro hinbekommt ist schade. Vielleicht hat ja noch jemand eine Idee.