ID非公開

2022/6/29 9:42

33回答

VBAで、別ブックのセルをFormulaで代入するときの問題 フォルダ内に『集計』とつくファイルが複数あり、 集計とつくファイルの中から(i, 6)に1以上の数字が入力されているセルを

Visual Basic | Excel117閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

1

1人がナイス!しています

ID非公開

質問者2022/6/29 10:28

あ、はい、そうです。 .Formula = .Formula です。 実際の記述ではちゃんと両辺に.Formulaが記入されています。

ThanksImg質問者からのお礼コメント

ありがとうございました。 今回こちらをベストアンサーに選ばせていただきましたが 技量、知識ともに足りない私の質問にお二人とも真摯に対応していただき 本当にありがとうございます。 これからもっと勉強していきたいと思います。

お礼日時:6/29 12:35

その他の回答(2件)

1
ID非公開

2022/6/29 11:03

こういうことでしょうか。 転記内容が全部転記なのか、式だけを転記するのか分からなかったので全部にしています。 ※式だけを転記する場合はコメントアウトした方でいいかと ※転記された側の式には、コピー元のブックが指定されたままなので、コピー元の値が変化するとコピー先の値も変化します。 Sub 集計() Dim bookA As Worksheet Set bookA = ThisWorkbook.Worksheets("集計") Dim fs As FileSystemObject Set fs = New FileSystemObject Dim myfolder As Folder Set myfolder = fs.GetFolder(ThisWorkbook.Path) Dim myfile As File On Error Resume Next For Each myfile In myfolder.Files If Not myfile Is Nothing And fs.GetFileName(myfile) Like "*集計*" Then Dim wb As Workbook Set wb = Workbooks.Open(Filename:=myfile) Dim bookB As Worksheet Set bookB = wb.Worksheets(1) Dim ws1 As Worksheet Set ws1 = wb.Worksheets("Sheet1") Dim i As Long For i = 2 To ws1.Cells(Rows.Count, 2).End(xlUp).Row If bookB.Cells(i, 6) >= 1 Then bookB.Range(Cells(i, 3), Cells(i, 24)).Copy ' bookB.Range(Cells(i, 3), Cells(i, 24)).SpecialCells(xlCellTypeFormulas).Copy '数式のあるセルのみコピー bookA.Cells(i, 3).PasteSpecial Paste:=xlPasteFormulas Application.CutCopyMode = False End If Next i wb.Close Set bookB = Nothing Set wb = Nothing End If Next On Error GoTo 0 Set myfolder = Nothing Set fs = Nothing End Sub

1人がナイス!しています