Excelデータベースにマスターワークシートを作成しようとしました。これはセルに参照番号を入力し、マクロを実行してすべてのインスタンスをリストします参照番号の指定された値を持つすべての行を列に貼り付けて貼り付けます
たとえば、セルE8に参照番号0001を入力した場合、隣接するワークシートに0001があるすべてのインスタンスを見つけて、範囲内のすべての行をコピーして貼り付けるコマンドボタンをクリックできます。
これは私が現時点で持っているコードですが、コピーと貼り付けはありません。 B35:B100の内容をクリアし、最後にセルE8を選択しますが、その間に何も起こらないように見えます。
コピーと貼り付けがうまくいかない理由はありますか?
Option Explicit
Sub ReturnActions()
Dim itemnumber As String
Dim finalrow As Integer
Dim i As Integer
Sheet1.Range("B35:N100").ClearContents
itemnumber = Sheet1.Range("E8").Value 'master worksheet
finalrow = Sheet3.Range("G10").End(xlUp).Row 'database of information
For i = 2 To finalrow
If Cells(i, 1) = itemnumber Then
Sheet3.Range(Cells(i, 2), Cells(i, 12)).Copy 'database worksheet
Sheet1.Range("B50").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats 'master worksheet
End If
Next i
Range("E8").Select 'master wowrksheet
End Sub
はシートですべての範囲を修飾します。たとえば、 'Sheet3.Range()'でこれを行いますが、 'Cells()'を使うときにそれを行う必要があります。 'Copy'行は' Sheet3.Range(Sheet3.Cells(i、 2)、Sheet3.Cells(i、12)) 'データベースワークシート'をコピーし、 'If'行を' if sheet3.Cells(i、1)= itemnumber Then'(もちろん 'シート3)。 – BruceWayne