
自作マクロを作成し別ブックから転記するものですがExcel2000では正常に動くのですが、Excel2007では、転記対象のセルが0なら空白にするという行(IF文)で「型が一致しません」と表示されてしまいます。
ExecuteExcel4Macroが悪いのか、いろいろ調べましたが型とは?などマクロ初心者なので分からないです。宜しくお願いします。
For i = 1 To 7
Cells(i, 1).Value = ExecuteExcel4Macro("'\[meca.xls]Sheet1'!R" & i & "C1")
If ExecuteExcel4Macro("'\[meca.xls]Sheet1'!R" & i & "C1") = "0" Then Cells(i, 1).Value = ""
Next i
No.5ベストアンサー
- 回答日時:
またまた登場、myRangeです。
>転記されるようになりましたが
ということは、エラーの原因は先の回答のように
meca.xlsの該当セルに●エラー値●があったから、という理解でいいですか?
それが一番重要なことですから、コメントした方がいいと思います。
また、「エラー値」が原因なら、
エクセルのバージョンに関係なく同じエラーになるはずです。(I'm Sure)
ま、それは置いといて、補足の回答。
>1ステップごとに「値の更新」というダイアログボックスが出て
コードの前後を、DisplayAlerts プロパティで挟みましょう。
'---------------------------------------------------------
Application.DisplayAlerts = False '●最初はFalse
For i = 1 To 7
Cells(i, 1).Value = ExecuteExcel4Macro("'\[meca.xls]Sheet1'!R" & i & "C1")
If IsError(Cells(i, 1).Value) Then Cells(i, 1).Value = ""
If Cells(i, 1).Value = 0 Then Cells(i, 1).Value = ""
Next i
Application.DisplayAlerts = True '●最後はTrueに戻しておく
'-------------------------------------------
DisplayAleartsについてはご自分で調べてみてください。
そうすることがスキルアップにつながると考えます。
以上です。
エラーも無くなり、できました。
ステップごとにやってみてどうやら("'\[meca.xls]
あたりを疑って絶対パスに変更したら("'C:\[meca.xls]すんなりいきました。
お陰さまで大分勉強できてVBAの面白さも
わかってきました。
ありがとうございました。
No.4
- 回答日時:
回答3、myRangeです。
回答2で上手くいかなかったら(同じエラーが出たら)
meca.xlsから読み込んでいるセルの値に●エラー値(#VALUE,#DIV/0等)があることが考えられます。
それは、meca.xlsを見なくてもCells(i,1)に転記されてるはずなので直ぐ確認できます。
もしエラー値が原因だったら、以下のようにエラー値を判断します。
'--------------------------
For i = 1 To 7
Cells(i, 1).Value = ExecuteExcel4Macro("'\[meca.xls]Sheet1'!R" & i & "C1")
If IsError(Cells(i, 1).Value) Then Cells(i, 1).Value = ""
If Cells(i, 1).Value = 0 Then Cells(i, 1).Value = ""
Next i
'---------------------------
エラー値だったら、空白を転記
0だったら、空白を転記
マクロになれてきたら、On Error ステートメントを使うのもいいかも知れません。
以上です。
この回答への補足
myRange様。
細かい点まで解答していただいて感謝します。
転記されるようになりましたが
1ステップごとに「値の更新」という
ダイアログボックスが出て
その度にファイルを選び直さないと
値が転記されないのです。
どうすればよいでしょうか。
No.3
- 回答日時:
手元に2007がないので検証できないので何ですが。
。。>If ExecuteExcel4Macro("'\[meca.xls]Sheet1'!R" & i & "C1") = "0" Then Cells(i, 1).Value = ""
の ="0" を = 0 にしてみてください。
それでダメなら、
ExecuteExcel4Macro("'\[meca.xls]Sheet1'!R" & i & "C1")
を2度使う必要はないので、IF文を
If Cells(i, 1).Value = 0 Then Cells(i, 1).Value = 0
に代えてみてください。
以上です。
No.2
- 回答日時:
度々すみません。
分かりやすいページがありました。
[開発]タブの[マクロのセキュリティ]でも設定できます。
ご参考まで。
参考URL:http://kiyopon.sakura.ne.jp/soft/2007.html
この回答への補足
ご連絡ありがとうございます。事前にマクロは有効にしていました。
動作させた後で実行したら「型が一致しません」のエラーが表示されました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) R列の1111/11/11以外、且つQ列の×の条件で該当行のAからAE列までオレンジに塗りつぶす 2 2022/07/02 10:18
- Visual Basic(VBA) excel VBA if文について 3 2022/03/27 17:42
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで#N/Aを含めた平均値...
-
フェールオーバクラスタ構築エ...
-
MACアドレス 00:E0:C3 SAKAI って
-
ウェブサイトは読み込めません...
-
sendmailのMAIL FROMアドレス...
-
さくらVPS初期設定エラー
-
エクセルのコメントの有無をV...
-
qpopperのconfigureに関する質問
-
応答を解析できません
-
URL接続を確認できる無料ツール...
-
送信先の転送先の状態でメール...
-
循環参照にならない方法があっ...
-
Ocn モバイルONE の1GB 追加
-
Netflixがネットワークエラー ...
-
VBAで入力規則 エラーでも入れ...
-
プロファイルエラー
-
アンドロイドスタジオ 構成が間...
-
IE5.5をIE6にしたら「...
-
エクセルVBA 関数エラー箇所を...
-
最近、ロリポップで、アドレス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで#N/Aを含めた平均値...
-
循環参照にならない方法があっ...
-
MACアドレス 00:E0:C3 SAKAI って
-
ドメインに参加しようとするとD...
-
マクロでのエラーについて
-
ワイヤーボンディングのスパー...
-
WSUSインストール時に設定ウィ...
-
vsftpd 大量転送で時たま途中で...
-
エクセルVBA 関数エラー箇所を...
-
クライアントが切断されました。
-
アウトルックで送信時に「名前...
-
.NETでActiveXコントロールを使う
-
検索をかけた時、ページを開け...
-
RealVNCで管理していたサーバを...
-
CDManipulatorでのCCCDコピーに...
-
MacでKCFErrorDomainCFNetwork ...
-
VBAで入力規則 エラーでも入れ...
-
アンドロイドスタジオ 構成が間...
-
「内部サーバーエラー サーバー...
-
サーバーでエラーが発生しまし...
おすすめ情報