|
> あの…、今気づいたのですが、日別シート(1〜31日)のセルB5〜B37以外に
> 同一表内のセルH77〜H109にも、同じ配列で、セルB5〜B37と同一の店舗名がありました。
>恐らく、これが原因だと思います。
>又、集計表の店名は、「A店」「D店」などと「〜店」と入力されていますが、
>日別シートの店舗名は、「〜店」がついておらず(全部ではないです。数個の店については、
>「〜店」がついています)「A」「D」などと入力されているのです。
セルH77〜H109の店舗名は、関係無いと思います
これは、私のボケです、私は転記先シートのA列に店舗名が有ると思っていました
B列なんですね
後、集計表の店舗は「店」が必ず入っているのですね!
此れを修正します
「Function MakeStoreIndex」を以下の様に修正して下さい
Private Function MakeStoreIndex(dicStore As Object, _
lngSheetNo As Long) As Boolean
' 店舗のIndexを作成
'店舗データの先頭行位置を定数宣言
Const clngDataTop As Long = 5
Dim i As Long
Dim vntData As Variant
'最初に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
MakeStoreIndex = True
End Function
|
|