
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>ブックの1枚目のシートのみをコピーすることはできますか?
For i = 1 To Worksheets.Count
Sheets(i).Activate
・・・
・・・
Next
で全てのシートを繰り返していますので
Sheets(1).Activate
For k = 1 To Range("A" & Rows.Count).End(xlUp).Row
.Range("A" & j).Value = buf
.Range("B" & j).Value = Sheets(i).Name
.Range("C" & j & ":E" & j).Value = Range("A" & k & ":C" & k).Value
j = j + 1
Next
で十分ではないでしょうか。
No.2
- 回答日時:
>ブックの1枚目のシートのみをコピーすることはできますか?
以下のように加えると良いと思います。
他のコードに貼り付ける時は、親オブジェクトを考慮してください。
cnt = ThisWorkbook.Worksheets.Count
'*ブックの一枚目のシートのコピー
(親オブジェクト).Worksheets(1).Copy After:=ThisWorkbook.Worksheets(cnt)
On Error Resume Next
ActiveSheet.Name = FName
On Error GoTo 0
'//
Sub OpenSheetGetData()
'No. 9036670
Dim MyPath As String
Dim FName As String
Dim i As Long, j As Long, cnt As Long
Dim sh As Variant
Dim Lastrow As Long
Dim acSh As Worksheet
Set acSh = ActiveSheet
j = 2
MyPath = ThisWorkbook.Path & "\"
FName = Dir(MyPath & "*.xls?", vbNormal)
Do While FName <> ""
If FName <> "." And FName <> ".." Then
If (GetAttr(MyPath & FName) And vbNormal) = vbNormal Then
With Workbooks.Open(MyPath & FName)
For Each sh In .Worksheets
With sh
Lastrow = .Cells(Rows.Count, "B").End(xlUp).Row
'リミット(10000行以下のものを対象)
If Lastrow > 5 And Lastrow < 10000 Then
For i = 5 To Lastrow
acSh.Cells(j, 2).Resize(, 18).Value = .Cells(i, 2).Resize(, 18).Value
j = j + 1
Next i
End If
End With
Next sh
cnt = ThisWorkbook.Worksheets.Count
'*ブックの一枚目のシートのコピー
.Worksheets(1).Copy After:=ThisWorkbook.Worksheets(cnt)
On Error Resume Next
ActiveSheet.Name = FName
On Error GoTo 0
.Close False
End With
End If
End If
FName = Dir()
Loop
End Sub
'///
No.1
- 回答日時:
参考になるかと
https://oshiete.goo.ne.jp/qa/9029811.html
で同じような回答をいたしました。
5行目からであれば
For k = 1 To Range("A" & Rows.Count).End(xlUp).Row
を
For k = 5 To Range("A" & Rows.Count).End(xlUp).Row
に
B列からS列なら
.Range("C" & j & ":T" & j).Value = Range("B" & k & ":S" & k).Value
です。
A列には ファイル名
B列には シート名が入ります。
不要であれば
.Range("A" & j).Value = buf
.Range("B" & j).Value = Sheets(i).Name
を削除してください。
このファイルが、その特定のフォルダ内に保存して使用します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
【マクロ】【画像あり】❶ブック...
-
Excelファイルをダブルクリック...
-
エクセルを共有するとPCによっ...
-
【マクロ】【画像あり】ファイ...
-
Excelでブックの共有を掛けると...
-
フォルダ内の複数ファイルから...
-
エクセルでウィンドウの枠固定...
-
エクセルで参照しているデータ...
-
Excel(2010)のフィルターが保...
-
WorkBooksをオープンさせずにシ...
-
ブックのピボットを別ブックに...
-
「ブックの共有」を有効にして...
-
指定ファィルの指定シートをシ...
-
参照したいブックのパス名に"["
-
VBA バックグラウンドで別ブッ...
-
Excelで複数ブックの同一セルに...
-
Excelの警告について
-
【マクロ】アクティブセルの時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】アクティブセルの時...
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
WorkBooksをオープンさせずにシ...
-
エクセルで参照しているデータ...
-
Excelファイルをダブルクリック...
-
Excelでブックの共有を掛けると...
-
「ブックの共有」を有効にして...
-
Excel(2010)のフィルターが保...
-
Excelの新しい空白のブックを開...
-
同じフォルダへのハイパーリン...
-
フォルダ内の複数ファイルから...
-
エクセルで別ブックをバックグ...
-
別ブックから入力規則でリスト...
-
ブックのピボットを別ブックに...
-
エクセルでウィンドウの枠固定...
-
エクセルにおける,「ブック」...
-
Excelで複数ブックの同一セルに...
-
Excelで指定範囲のデータ...
おすすめ情報
ありがとうございます!できました。
もうひとつわがままなことなのですが、ブックの1枚目のシートのみをコピーすることはできますか?