[解決済み】VBA。ランタイム1004を取得する。オブジェクト'_Worksheet'のメソッド'Range'は、セルを使用するときに失敗しました。
2022-01-24 05:21:22
質問
ワークシートが2枚あります。資産と概要。
関数はすべてモジュールにまとめています。
Public Function GetLastNonEmptyCellOnWorkSheet(Ws As Worksheet, Optional sName As String = "A1") As Range
Dim lLastRow As Long
Dim lLastCol As Long
Dim rngStartCell As Range
Set rngStartCell = Ws.Range(sName)
lLastRow = Ws.Cells.Find(What:="*", After:=Ws.Range(rngStartCell), LookIn:=xlFormulas, _
Lookat:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
MatchCase:=False).Row
lLastCol = Ws.Cells.Find(What:="*", After:=Ws.Range(rngStartCell), LookIn:=xlFormulas, _
Lookat:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, _
MatchCase:=False).Column
Set GetLastNonEmptyCellOnWorkSheet = Ws.Range(Ws.Cells(lLastRow, lLastCol))
End Function
ワークシートの概要から、呼び出す。
Set RngAssets = GetLastNonEmptyCellOnWorkSheet(Worksheets("Assets"), "A1")
でも、いつもエラーが出ます。
VBAです。ランタイム 1004 を取得中。オブジェクト '_Worksheet' の 'Range' メソッド 失敗
を行に追加してください。
Set GetLastNonEmptyCellOnWorkSheet = Ws.Range(Ws.Cells(lLastRow, lLastCol))
ワークシートAssetsにデータがあります。最後に使用されたセルはW9(lLastRow = 9、lLastCol = 23)である。
なぜうまくいかないのか、何か心当たりはありませんか?
解決するには?
以下は、あなたの問題意識です。
Set GetLastNonEmptyCellOnWorkSheet = Ws.Range(Ws.Cells(lLastRow, lLastCol))
一番内側の括弧を評価する。
ws.Cells(lLastRow, lLastCol)
これは
は
は範囲ですが、範囲のデフォルトのプロパティはその
.Value
. この値に対応する名前付き範囲がない限り、エラーになることが予想されます。
代わりに、試してみてください。
Set GetLastNonEmptyCellOnWorkSheet = Ws.Range(Ws.Cells(lLastRow, lLastCol).Address)
あるいは、少し簡略化することもできます。
Set GetLastNonEmptyCellOnWorkSheet = Ws.Cells(lLastRow, lLastCol)
関連
-
[解決済み] ワークシートを1枚飛ばし、残りのワークシートを処理する
-
[解決済み] VBAです。IfエラーにならないElse
-
[解決済み] エクセルVBAの検索文字列 : エラー2015
-
[解決済み] VBAを使用してtxtファイルを作成し、書き込む方法
-
[解決済み] VBAでファイルを削除する
-
[解決済み] どのようにvbaコードCells.FindによってExcelの列で値を見つけるために
-
[解決済み] Accessからレポートを自動でメール送信
-
[解決済み] あるディレクトリから別のディレクトリにファイルをコピーするVBA
-
[解決済み】VBAのDebug.Printのログはどこに記録されるのですか?
-
[解決済み】VBAは辞書構造を持っていますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Excel VBAのByRef引数の型の不一致
-
[解決済み】エクセルVBA。一致しない、エラー "WorksheetFunctionクラスのMatchプロパティを取得できない"
-
[解決済み] VBAのコードに「Label Not define」がありますが、これは何ですか?
-
[解決済み] Access VBAで "Duplicate declaration in current scope "というエラーが発生する。
-
[解決済み] VBAで関数から配列を返す
-
[解決済み] あるディレクトリから別のディレクトリにファイルをコピーするVBA
-
[解決済み】VBAのDebug.Printのログはどこに記録されるのですか?
-
[解決済み】VBAは辞書構造を持っていますか?
-
[解決済み】Visual Basic 6.0とVBAの違いについて
-
[解決済み】Excel VBAでSelectを使用しないようにする方法