Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2016)
オブジェクトは、このプロパティまたはメソッドをサポートしていません
投稿日時: 19/07/08 11:31:59
投稿者: vaioyuki

毎度毎度お世話になっております。(^^;)
 
件名にある実行時エラー438なのですが、
同じ記述内で動く場合と駄目になる場合の違いを教えていただきたいです。
 

Dim lngLastDataRow As Long 'パターン4シートA列の最終行
Dim lngFirstFormuraNyuRow As Long '入力シートの計算式を開始する行

With ThisWorkbook.Worksheets("パターン4") 'パターン4シートA列の最終行の次の空白を取得

    lngLastDataRow = .Range("A" & .Rows.Count).End(xlUp).Row

    Worksheets("パターン4").Range("I2:MY" & lngLastDataRow).copy Worksheets("集計").Range("I2") 'パターン4 I列からMY列のデータが入力されているセルを集計シートのI列からMY列にコピー

With ThisWorkbook.Worksheets("入力") '入力シートG列の最終行の次の空白を取得
    
    lngLastDataNyuRow = .Range("G" & .Row.Count).End(xlUp).Row
    
    Range("C9").Select
    ActiveCell.Formula = "=SUM(G2:G" & lngLastDataNyuRow & ")"
    Range("C10").Select
    ActiveCell.Formula = "COUNTA(E14:E" & lngLastDataNyuRow & ")"
    
End With

End With

 
上記コード、[パターン4]は正常に動き、[入力]は実行時エラー438が出ます。
[パターン4]はcsvファイルをコピーしてきていて、
[入力]は別シートから抽出してきています。

回答
投稿日時: 19/07/08 11:46:47
投稿者: sk

引用:
lngLastDataNyuRow = .Range("G" & .Row.Count).End(xlUp).Row

lngLastDataNyuRow = .Range("G" & .Rows.Count).End(xlUp).Row
 
引用:
オブジェクトは、このプロパティまたはメソッドをサポートしていません

Worksheet オブジェクトには Rows というメンバーはあっても
Row というメンバーはありませんので。

投稿日時: 19/07/08 11:51:36
投稿者: vaioyuki

ひゃー
お恥ずかしい!!
 
sの付け忘れですね。(^^;)
 
ついでに自分で
 
ActiveCell.Formula = "=COUNTA(E14:E" & lngLastDataNyuRow & ")"
 
の = を付け忘れているのも発見しました。。。
 
 
 
ありがとうございました!!