プロが教えるわが家の防犯対策術!

こんにちはエクセル365を使っています。

シート4に設置されたボタンのマクロ(Module1)の途中でシート4のシートモジュールに記載された以下のコードを呼び出したいと思い

Call Macro上下反転() としましたが、SubまたはFunctionが定義されていませんとのエラーが出ます。

' 呼びたしたいマクロの内容はココから
Sub Macro上下反転()
Dim 最終行 As Long
Dim temp As Variant 'セルの内容によってはstring 等でも可能
Dim 上行 As Long
Dim 下行 As Long
Dim 列変数 As Long

最終行 = ActiveSheet.UsedRange.Rows.Count
'最終行の取得の仕方は複数あります。最適なものを使用してください。

For 上行 = 1 To Int(最終行 / 2)
 下行 = 最終行 - 上行 + 1
 For 列変数 = 2 To 8 '対象列をBからHまで順次
  temp = Cells(上行, 列変数).Value '上側セルの値を取得=一端保存
  Cells(上行, 列変数).Value = Cells(下行, 列変数).Value
  Cells(下行, 列変数).Value = temp
 Next 列変数
 Next 上行
End Sub
' ここまで

これはなぜなのでしょうか?
詳しいかた、教えて頂けませんか、よろしくお願いいたします。

A 回答 (2件)

No.1です。



Call シート名.メソッド名

の間違いでした。。。反省↷
    • good
    • 0
この回答へのお礼

回答ありがとうございます^^
シート名指定したらできました。

お礼日時:2020/03/18 16:54

ググってみたら



Call シート名.モジュール名

のようですよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A