アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBA初心者です。
Excel VBAで、指定したフォルダ内のファイルを順に開き、特定のセルの値をコピーし、リスト化したいと考えています。
以下の構文では作業自体はうまくいくのですが、コピー元が数式セルになっているため、値ではなく数式がコピーされてしまい、値がうまく引っ張れない状態です。

------------------------------------------------------------------------------------------
Sub Sample()
Dim Workbook_path As String
Workbook_path = ActiveWorkbook.Path & "\test"
Dim objFSO As Object
Dim objBook As Object
Dim lngRow As Long

Application.ScreenUpdating = False

'集計シートをクリア
ThisWorkbook.Sheets("集計").Select
Cells.Clear

'FileSystemObjectを変数にセット
Set objFSO = CreateObject("Scripting.FileSystemObject")

'フォルダ内のファイル全て繰り返し処理
For Each objBook In objFSO.GetFolder(Workbook_path).Files
'貼り付け行(最終行+1)取得
lngRow = ThisWorkbook.Sheets("集計").Range("A" & Rows.Count).End(xlUp).Row + 1

'ファイルを開く
Workbooks.Open objBook.Path
'コピー後ファイルを閉じる
With ActiveWorkbook
.Sheets("Sheet1").Range("A1").Copy ThisWorkbook.Sheets("集計").Range("A" & lngRow)
.Sheets("Sheet1").Range("A2").Copy ThisWorkbook.Sheets("集計").Range("B" & lngRow)
.Sheets("Sheet2").Range("B1").Copy ThisWorkbook.Sheets("集計").Range("C" & lngRow)
.Close
End With
Next

'オブジェクト変数解放
Set objFSO = Nothing

Application.ScreenUpdating = True

End Sub

---------------------------------------------------------------------------------------------


この部分を値コピーにできればうまくいくと思い色々試したのですが、エラーが生じてしまい、うまくいきません。
①Copyではなく=を使用  ⇒ アプリケーション定義またはオブジェクト定義のエラー
②指定したセルのあとにvalueを追加  ⇒ 同上
③各行の末尾に.PasteSpecial Paste:=xlPasteValuesを追加 ⇒ コンパイルエラー(修正候補 ステートメントの最後)
いずれもHPなどを色々検索して試してみたのですが・・・

解決策をご教授ください。

----------------------------------------------------------------------------------------------------
.Sheets("Sheet1").Range("A1").Copy ThisWorkbook.Sheets("集計").Range("A" & lngRow)
.Sheets("Sheet1").Range("A2").Copy ThisWorkbook.Sheets("集計").Range("B" & lngRow)
.Sheets("Sheet2").Range("B1").Copy ThisWorkbook.Sheets("集計").Range("C" & lngRow)
-----------------------------------------------------------------------------------------------------

A 回答 (1件)

以下で如何でしょう?



ThisWorkbook.Sheets("集計").Range("A" & lngRow).Value = .Sheets("Sheet1").Range("A1").Value
    • good
    • 0
この回答へのお礼

助かりました

うまくいきました!
ありがとうございます!!

お礼日時:2016/05/02 18:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています