|
▼Hirofumi さん、こんばんは。
早速、ご指摘の内容について確認しました。こういう機能があるとは驚きました。すぐに、不具合な箇所がわかりました。ですが、対処の仕方がわかりません。またまた、ご教授願います。ウォッチウインドウの値について、以下のとおり記述します。
1. まず、「Worksheets(lngSheetNo).Name」は、最初のシートの検索では全て「1」です。つまり、全て転記先のシート名でしたので、これは問題ないかと思われます。ウォッチウィンドウに追加したデータは、以下の7箇所の下線部分です。
'最初にIndexに追加されたシート番号に就いて
With Worksheets(lngSheetNo)
'店舗名を配列に取得
vntData = Range(.Cells(clngDataTop, "B"), _
.Cells(clngSheetEnd, "B").End(xlUp)).Value '★この行修正
End With
'店舗Indexに就いて
With dicStore
'店舗名の先頭から終まで繰り返し
For i = 1 To UBound(vntData, 1)
'店舗名に「店」が無い場合、「店」を追加する
If Right(vntData(i, 1), 1) <> "店" Then '★この行追加
vntData(i, 1) = vntData(i, 1) & "支店" '★この行追加
End If '★この行追加
'Indexにi番目の店舗名が有るなら
If .Exists(vntData(i, 1)) Then
Beep
MsgBox "同一の店名が有ります"
Exit Function
'i番目の店舗名が無いなら
Else
'Indexに店舗名と行位置を追加
.Add vntData(i, 1), i + clngDataTop - 1
End If
Next i
End With
2.「i」の値は、1〜36までで、ウォッチウィンドウに追加したデータの値は、以
下のとおりです。以下の構文で表している1.〜8.の時の「vntData(i, 1)」値をその下に記載しています。なお、「Beep」はi=36で反転表示になりました。その内容も追記しています。(店舗の数は、全部で33店舗。a店〜bg店までです。)
'店舗名の先頭から終まで繰り返し
For i = 1 To UBound(vntData, 1)
'店舗名に「店」が無い場合、「店」を追加する
If Right(vntData(i, 1), 1) <> "店" Then '★この行追加 ・・・1.
vntData(i, 1) = vntData(i, 1) & "店" '★この行追加 ・・・2.
End If '★この行追加 ・・・3.
'Indexにi番目の店舗名が有るなら
If .Exists(vntData(i, 1)) Then ・・・4.
Beep
MsgBox "同一の店名が有ります"
Exit Function
'i番目の店舗名が無いなら
Else ・・・5.
'Indexに店舗名と行位置を追加
.Add vntData(i, 1), i + clngDataTop – 1 ・・・6.
End If ・・・7.
Next i ・・・8.
1.〜2. 3.〜8. 「Beep」の値
i=1 a a店 −
i=2 b b店 −
i=3 c c店 −
・
・
・
i=33 bg bg店 −
i=34 合計 合計店 −
i=35 Empty値 店 −
i=36 Empty値 店 店
|
|