[[20250616102016]] 『データの変更ができません。』(友香) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『データの変更ができません。』(友香)

どこがおかしいのでしょうか?
下記のプログラムにおいて
dic("A")(0)が1ではなく0のままです。

    Dim dic As Dictionary: Set dic = New Dictionary
    Dim ary As ArrayList: Set ary = New ArrayList

    Call dic.Add("A", Array(0, ary))
    dic("A")(0) = dic("A")(0) + 1
    Debug.Print dic("A")(0)

< 使用 Excel:Excel2019、使用 OS:Windows11 >


一度作業用変数に取り出して 作業用を変更して、書き戻してあげると
出来るかも。。。^^;

m(__)m
(隠居Z) 2025/06/16(月) 10:56:48


 dictionaryのitemを配列にした場合、その要素がObject以外であれば一旦配列を変数にして更新してから再登録
 例
    Call dic.Add("A", Array(0, ary))
    Dim w
    w = dic("A")
    w(0) = w(0) + 1
    dic("A") = w
    Debug.Print dic("A")(0)
    dic("A")(1).Add "X"
    Debug.Print dic("A")(1).Count

 注意点
 aryには"X"が既に登録されています
 新たにBを下記のように登録した場合、aryは"A"で登録されたものを参照することになります。
 dic("B") = Array(0, ary)
(jindon) 2025/06/16(月) 11:18:19

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.