ここから本文です

Excelマクロについて 下記マクロにてワークブック(まとめ)に、開いてある別のブ...

あっぱーさん

2016/9/2920:08:29

Excelマクロについて

下記マクロにてワークブック(まとめ)に、開いてある別のブックのデータを取得(inputboxにてどのデータを取得すかを決める)したいのですが、inputboxが何回も表示されて(

開いてあるブックの数)その度に入力しています。
一回の入力で全てのブックからデータを取得できませんか?

Sub testt()

Dim retu, x, x2

For retu = 2 To Workbooks.Count

Workbooks(゙まとめ゙).sheets(1).cells(2,retu).value=Workbooks(retu).name

x = Workbooks("まとめ").Sheets(1).Cells(2, retu).Value




x2 = InputBox("average or sigma or max or min", "参照するデータの選択")

If x2 = "average" Then

x2 = Workbooks(x).Sheets(1).Range("B501:B506").Value



ElseIf x2 = "sigma" Then

x2 = Workbooks(x).Sheets(1).Range("C501:C506").Value



ElseIf x2 = "max" Then

x2 = Workbooks(x).Sheets(1).Range("D501:D506").Value



ElseIf x2 = "min" Then

x2 = Workbooks(x).Sheets(1).Range("E501:E506").Value


End If


Workbooks("まとめ").Sheets(1).Range(Cells(3, retu), Cells(8, retu)).Value = x2

Next


Workbooks(x).Close

End sub

閲覧数:
31
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

hig********さん

2016/9/2920:31:22

inputboxの文を
For retu = 2 To Workbooks.Count
の上に移動すればいいです。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

2016/9/2921:08:46

x2 = InputBox("average or sigma or max or min", "参照するデータの選択")

For retu = 2 To Workbooks.Count
の前に移動すればいいのですが、ほかにも怪しい箇所がいくつかあります。

とりあえず、サンプルです


Option Explicit
Sub Sample()
Dim refType As Variant
Dim copyCell As String
Dim retu As Long
Dim bk As Workbook

refType = InputBox("average or sigma or max or min", "参照するデータの選択")
Select Case LCase(refType)
Case "average"
copyCell = "B501"
Case "sigma"
copyCell = "C501"
Case "max"
copyCell = "D501"
Case "min"
copyCell = "E501"
Case Else
Exit Sub
End Select

With Workbooks("まとめ.xlsm")
retu = 2
'開いているすべてのブックを対象とする
For Each bk In Workbooks

'まとめブック以外のとき
If bk.Name <> .Name Then

'B2から右方向に開いているブックの名前をセットする
.Sheets(1).Cells(2, retu).Value = bk.Name

'まとめブックに転記する
.Sheets(1).Cells(3, retu).Resize(6).Value = bk.Sheets(1).Range(copyCell).Resize(6).Value

'転記したブックを閉じる
bk.Close False

retu = retu + 1

End If
Next
End With

End Sub

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる