Con questo codice (in excel-vba) aggiungo a una raccolta un numero di elementi in base a una matrice.
Uso il valore dell'array come chiave e la stringa "NULL" come valore per ogni elemento aggiunto.Come modificare il valore di un articolo di una collezione
Dim Coll As New collection
Dim myArr()
Set Coll = New collection
myArr() = Array("String1", "String2", "String3")
For i = LBound(myArr) To UBound(myArr)
Coll.Add "NULL", myArr(i)
Next i
Ora, se voglio cambiare il valore di un elemento, lo identifica con il tasto, devo rimuovere l'elemento e quindi aggiungere un elemento con stessa chiave o è possibile modificare il valore articolo?
Questo sotto è l'unico modo?
Coll.Remove "String1"
Coll.Add "myString", "String1"
O c'è qualcosa di simile: (lo so che non funziona)
Coll("String1") = "myString"
Hai provato a utilizzare un 'dizionario' (dalla libreria di scripting)? –
AFAIK e come [MSDN] (https://msdn.microsoft.com/en-us/library/vstudio/f26wd2e5 (v = vs.100) .aspx) dicono che questo è l'unico modo. La tazza è corretta, usa invece un dizionario. Se decidi di seguire questa strada, [guarda questo.] (Http://www.snb-vba.eu/VBA_Dictionary_en.html) – L42
Non puoi farlo con la raccolta. –