[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『実行時エラー 1004 rangeメソッドは失敗しました globalオブジェクト』(タム)
連想配列を使用して、セルアドレスを格納使用としたのですが、
標記のエラーがでてしまいました。
大変申し訳ございませが対処の方法をご教示お願いします。
エラー箇所
myDic.Add Range(sh.Cells(First_Row, i)).Value, Range(sh.Cells(Lost_Row, i)).Value
コード
Dim First_Row As Long
Dim Lost_Row As Long
Set sh = Sheets("data")
Dim myDic As Object
Set myDic = CreateObject("Scripting.Dictionary")
For i = 4 To EndCol
myDic.Add Range(sh.Cells(First_Row, i)).Value, Range(sh.Cells(Lost_Row, i)).Value
Next i
< 使用 Excel:Office365、使用 OS:Windows10 >
'グラフ作成に必要な最終列を取得
EndCol = sh.Cells(2, Columns.Count).End(xlToLeft).Column
(タム) 2021/07/15(木) 16:58
↑
すみません、確認方法を教えていただけますでしょうか。
(タム) 2021/07/15(木) 17:05
>Range(sh.Cells(First_Row, i)).Value これは、実行時エラーにならないとなる場合の両方があります。
エラーにならない場合: sh.Cells(First_Row, i) のセルの値がセルアドレスを表す文字列の場合 エラーに成場合 : 上記以外の場合
sh.Cells(First_Row, i)のセルの値を調べみてください。 (´・ω・`) 2021/07/15(木) 17:06
セルの値を確認したところ、アドレスではなく、値が代入されておりました。
(タム) 2021/07/15(木) 17:09
>値が代入されておりました。 では、エラーになって当然です。 何がしたいのか、どういう動作を意図してしているかを書いてないので、 どう直せばいいのかもこちらではわかりません。 (´・ω・`) 2021/07/15(木) 17:18
With sh
If Not .AutoFilterMode Then Exit Sub With Intersect(.AutoFilter.Range.Resize(.AutoFilter.Range.Rows.Count - 1).Offset(1), .Columns("B")).SpecialCells(xlCellTypeVisible) First_Row = .Areas(1).Row Lost_Row = .Areas(.Areas.Count).Rows(.Areas(.Areas.Count).Rows.Count).Row End With End With
(タム) 2021/07/15(木) 17:44
>連想配列に先頭行と最終行を入れていきたいです。 の何を入れるんですか? セルの値? 行番号? アドレスの文字列? Rangeオブジェクト?
他のスレッドでも質問してるようですが、部分部分で解決しても全体はおそらく解決しないです。 たぶん、いいやり方もっと他にあります (´・ω・`) 2021/07/15(木) 18:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.