質問です。


エクセルの各ファイルの1行目に下記表示があります
このデータを別ファイルに一覧表としてファイルの数の分
記録できるマクロを教えてください
別ファイルではABCDEに表示でも可です

  E     F   G    H   I
AA33SN   1   183    43    1

回答の条件
  • 1人3回まで
  • 13歳以上
  • 登録:2011/04/13 18:31:50
  • 終了:2011/04/15 13:31:48

ベストアンサー

id:TransFreeBSD No.1

TransFreeBSD回答回数659ベストアンサー獲得回数2642011/04/13 21:03:16

ポイント60pt

対象のファイルと同じフォルダに一覧表ファイルを作り、下記マクロを入れてください。

マクロを実行すると、Aにはファイル名、Bにはシート名を入れ、E~Iの値はE~Iにコピーします。

ます。

Sub Update()
    Set moapp = CreateObject("Excel.Application")
    moapp.Visible = False
    Dim i As Long
    i = 1
    Set files = CreateObject("Scripting.FileSystemObject").GetFolder(ThisWorkbook.path).files
    For Each f In files
        If (Not f.Name = ThisWorkbook.Name And Not f.Name Like "~$*") Then
            Set b = moapp.Workbooks.Open(f.path)
            Set s = b.ActiveSheet
            Cells(i, "A") = f.Name
            Cells(i, "B") = s.Name
            Range("E" & i & ":I" & i) = s.Range("E1:I1").Value
            b.Close
            i = i + 1
        End If
    Next
End Sub
id:inosisi4141

ありがとうございました。

上手くいきました。

2011/04/15 13:29:47
  • id:taknt
    対象となるエクセルのファイルの指定は どうしますか?

    そのエクセルファイルには いくつシートがありますか?

    シートは すべて 処理対象ですか?

    あなたが プログラムを作ろうとしたら どのような処理の流れになりますか?

  • id:TransFreeBSD
    私が書いたのは
    - 対象となるエクセルファイルと一覧表だけが同じフォルダにある
    - そのエクセルファイルにはいくつシートがあっても良いが、開いたときのアクティブシートのみが処理対象
    という前提のマクロです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません