[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エクセルファイルに他のエクセルファイルのシートから目的の行を読み込みたい』(事務作業が進まない子)
社員からエクセルデータでアンケートをとりました。 そのファイルの中から項目ごとに回答を取り出して1ファイルにしたいのです。 今は手作業で1つづつファイルを開いて、3行目のデータを手作業でコピー&ペーストで取り込んでいます。 こんなことをしていたら今日中に帰れないよう、誰か助けてぇ〜、ください。 Excel2003を使用しています。
o(*'〜'*)o がんばっ♪
ってだけじゃあ、あんまりなので、、、全てのアンケートは同じフォルダーに集めらてれいますか。 あと、ひとつのブックにシートはいくつで、どのシートとか決まりはありますか。
(川野鮎太郎)
とりあえず同じフォルダの開いたシートの3行めを転記します。
Option Explicit
Sub アンケート転記()
Dim myObj As Object
Dim XlApp As Application
Dim myDir As String
Dim StartPath As String
Dim StartFileName As String
Dim Op_Book As Object
Dim myBook As Object
Dim MyRow As Long
Const CstTitle = "フォルダ内のファイル名一覧取得"
Const CstFld = "\*.xls"
Set myBook = ThisWorkbook
Set XlApp = Application
Set myObj = CreateObject("Shell.Application"). _
BrowseForFolder(0, "フォルダを選択してください", 0)
XlApp.DisplayAlerts = False
If myObj Is Nothing Then Exit Sub
If myObj = "デスクトップ" Then
StartPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
Else
StartPath = myObj.Items.Item.Path
End If
If Right(myDir, 1) <> "\" Then myDir = myDir & "\"
StartFileName = Dir(StartPath & CstFld, vbNormal)
MyRow = 5 ' 先頭を5行目に設定
Do While StartFileName <> ""
Set Op_Book = Workbooks.Open(StartPath & "\" & StartFileName)
' 行を加算
MyRow = MyRow + 1
Rows(3).Copy Destination:=myBook.Worksheets("Sheet1").Rows(MyRow)
Op_Book.Close
StartFileName = Dir()
Loop
XlApp.DisplayAlerts = True
Set myBook = Nothing
Set XlApp = Nothing
Set myObj = Nothing
End Sub
(川野鮎太郎)
(事務作業が進まない子)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.