[[20201224173648]] 『開いていないエクセルデータ取得に関して』(リョウ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『開いていないエクセルデータ取得に関して』(リョウ)

開いていないエクセルの値(sheet1のB3セル)を貼り付けるマクロを実行した時に貼り付け先のセルが#REF!表示する。
コードは以下です。
詳しい方、ご教示願います。

Sub Sample1()

    Dim buf As String
    Dim FileName As String
    Dim SheetName(30) As String
    Dim cnt As Long

    Const Path As String = "C:\Users\Desktop\test\"
    buf = Dir(Path & "*.xlsx")

    Do While buf <> ""

        cnt = cnt + 1

        FileName = Path & buf
        Call GetWsNames(FileName, SheetName)

'Debug.Print "Target = "; Target

       Target = "'" & Path & "[" & buf & "]" & SheetName(1) & "'!R3C2"
        Cells(cnt + 1, 3) = ExecuteExcel4Macro(Target)
        Cells(cnt + 1, 3).NumberFormatLocal = "YYYY/MM/dd"

buf = Dir()

    Loop
End Sub

< 使用 Excel:Office365、使用 OS:Windows10 >


初歩的な確認です。

1)データを取り出したいExcelファイルを開いてもエラーのままですか?

2)データを取り出したいExcelファイルのアドレスを手動で設定後、
  Excelファイルを閉じた時のアドレスと”Target”に表示されるアドレスは同じですか?

(you) 2020/12/24(木) 19:46


1)データを取り出したいExcelファイルのエラー表示はなしです。

2)データを取り出したいExcelファイルのアドレスを手動で設定後、

   Excelファイルを閉じた時のアドレスと”Target”に表示されるアドレスは同じです。

(リョウ) 2020/12/25(金) 14:41


#REF!のエラーは参照先がない時に表示されるので、2の確認でわずかに違いがあるのではないかなと思ったのですが。。。
※私もたまに表示させてしまうので、シート上でExact関数などを使って比較確認します。
※その際は頭に’を付けて文字列にしてから、マクロで作成したアドレスと手動で設定したアドレスの比較をします。

過去ログにも、ExecuteExcel4でのデータ貼り付けについていくつか質問があるようですが、このコードにしないといけない理由はありますか?
(you) 2020/12/25(金) 18:53


Target 変数指定しなくていいの?

(マルコ) 2020/12/25(金) 22:02


GetWsNamesが何か説明が必要では?
(不明) 2020/12/26(土) 09:56

>開いていないエクセルの値(sheet1のB3セル)

SheetName(1) でなく、"sheet1" ならどうなりますか

(マナ) 2020/12/26(土) 16:33


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.