Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
Dictionaryオブジェクトでキーが存在しているのに値が取得できない
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30881#CommentId85796
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
ヤマダ
 (社会人)
投稿日時
2023/7/26 16:32:58
現在Excelのマクロを組んでいます。
題名の通りなのですが、セルから取得した値をキーにして値を連番で設定し、そのキーの値を取り出したいのですが、上手くいきません。
Type level_Data
levelCd As String
levelName As String
End Type
Dim levelCd As Object
Set levelCd = CreateObject("Scripting.Dictionary")
Dim levelNo As Long: levelNo = 1
Dim keyChk As String
Dim test_csv() As level_Data
xlLastRow = Cells(Rows.Count, LEVEL_NAME_SELL).Row
DtRowCnt = Worksheets("Sheet1").Cells(xlLastRow, "A").End(xlUp).Row
For i = 2 To DtRowCnt
If Not levelCd.Exists(Worksheets("Sheet1").Cells(i, "A").Value) Then
levelCd.Add Key:=Worksheets("Sheet1").Cells(i, "A").Value, _
Item:=levelNo
levelNo = levelNo + 1
End If
Next i
For i = 2 To DtRowCnt
keyChk = ""
keyChk = Worksheets("Sheet1").Cells(i, "A")
test_csv.levelName = Worksheets("Sheet1").Cells(i, "A")
test_csv.levelCd = levelCd.Item(keyChk)
Next i
セル値が数値の時に値が空白で帰ってくるのですが、数値はキーとして設定できないのでしょうか?
1や2がセル値にあり、それをキーとして設定し、その値を最終的には取り出せるようにしたいです。
よろしくお願いします。