|
▼やふーー さん:
>ponponさんの式で、
>「氏名の欄(A列)が空欄だったらそのファイルからの抽出を終了」
>という形にするには、どうしたら良いでしょう?
★印を追加
A2の値を見ていますが、A2が空欄だったら転記しないで良いのでしょうか?
>また、抽出の際にコピーではなく「形式を選択して貼り付け」で
>言うところの「値」として抽出したいのですが。(参照している
>項目があったため、コピー後にブックを参照してしまう。)
PasteからPastespecialに変えています。
それと"\"が抜けていました。
>
>Sub test()
> Dim myFile As String
> Dim myWB As Workbook
> Const myPath As String = "D:\年度集計"
>
> Application.ScreenUpdating = False
myFile = Dir(myPath & "\" & "AAA*.xls")
> If myFile = "" Then
> MsgBox "AAAのつくファイルはありません。"
> Else
> With ThisWorkbook.Sheets("全件一覧")
> .Cells.ClearContents
> .Range("A1:C1").Value = Array("氏名", "男女", "県名")
> End With
> Do While myFile <> ""
Set myWB = Workbooks.Open(myPath & "\" & myFile) '"\"が抜けていました
> With myWB.Sheets("一覧表")
If .Range("A2").Value <> "" Then '★
.Range("A1", .Range("C65536").End(xlUp)).Copy
ThisWorkbook.Sheets("全件一覧").Range("A65536") _
.End(xlUp).Offset(1).PasteSpecial (xlPasteValues)
End If '★
> End With
> myWB.Close
> myFile = Dir()
> Loop
> End If
> Application.ScreenUpdating = True
> Set myWB = Nothing
>
>End Sub
|
|