[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ExecuteExcel4Macroを使用し、ダイアログを非表示にすると#REF!が出る』(初心者)
他ブックのデータを、ブックを開かずにセル値を取得するときに
ExecuteExcel4Macroを使用しようとしていますが
取得するときに何度も値の更新というダイアログが表示されます
参照場所やファイル名、シートは間違いありません
面倒になったのでApplication.DisplayAlerts = Falseを挿入したのですが
今度は取得したセル値が#REF!になってしまいました
因みに一度はダイアログが表示された際にExcelファイルを選択していると、次からはダイアログ非表示でも正しく更新されます
どうしたら一度目でダイアログを表示せずに正しく更新できるのでしょうか?
Sub 日計更新()
'変数の使用宣言 Dim m As Long, d As Long, x As Long, i As Long Dim Name As String Dim Myaddress As String
'日付の取得と判別しやすく y = Right(Year(Date), 2) m = Month(Date) d = Day(Date) x = Cells(Rows.Count, "G").End(xlUp).Row Name = StrConv(y, vbWide) & " " & StrConv(m, vbWide) & "月"
'記述の簡略化 Myaddress = "'\\<<アドレス名なので伏せます>>\[集計.xlsm]"
'正誤確認 If d + 2 <= x Then GoTo Err If d + 1 = x Then GoTo Err2
back:
'更新作業 Application.DisplayAlerts = False Application.ScreenUpdating = False For i = x - 1 To d - 1 k = 2 * i + 5 Cells(i + 2, 7) = ExecuteExcel4Macro(Myaddress & Name & "'!R32C" & k) Next i Application.DisplayAlerts = True Application.ScreenUpdating = True
Exit Sub
'エラー Err: MsgBox "エラーです" & vbCrLf & "日計の下が空欄か、確認をしてください" Exit Sub
Err2:
If MsgBox("既に入力されています" & vbCrLf & "それでも実行しますか?", vbYesNo, "日計更新") = vbYes Then GoTo back End Sub
< 使用 Excel:Excel2010、使用 OS:WindowsVista >
>値の更新というダイアログが表示されます
Myaddress & Name に問題がありそう... (seiya) 2017/08/29(火) 19:09
こんばんわ。
まだ外なので確認出来ないので、 的外れでしたらすいません。
Name の右の文字列に '!R32C と ' があるけど Name の左には無いのでは?
(sy) 2017/08/29(火) 19:19
また再発するかもしれないので様子見しますが腑に落ちません
>sy
Myaddressの方に入っています
ぶっちゃけ他の人のを流用しただけなので'の意味自体はあまり分かりませんが……
(初心者) 2017/08/29(火) 19:37
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.