私は2つの異なるブックを持っています。そのうちの1つから、複数の基準に基づいて特定の値をコピーしたいと思います。複数の条件に基づいて1つのシートから別のブックにコピーVBA Excel
この例では、各ワークブックwb1とwb2を呼び出します。最後にポストの最後に共有wbリンクがあり、見た目がより明確になります。
したがって、wb1ではwb2に独自のシートを持つリストもあります。 私はwb1を開くときに、同じ名前のwb2の各シートに "NPS"というセルの値をコピーしたいと思っています.wb2では、私は別の月といくつかの他の変数を持っています。だから私がしたいのは、NPSの値をNPSの下のデータにコピーし、それをwb1でも言及されている同じ月に一致させることです。
私は今までこのコードを持っていますが、本当にそれを作ることはありません。私はこの部分で "subsribtion out of range"を取得するので、sh2 = wb2.Sheets(c.Value)を設定します。どのように推測しているのでしょうか?それは、その名の通りの値でさえ、シートを値で識別することができないということです。
Sub NPS()
Dim sh1 As Worksheet, sh2 As Worksheet, c As Range, wb2 As Workbook, fn As Range
Set sh1 = ThisWorkbook.ActiveSheet
Set wb2 = Workbooks.Open("F:\Excel\Chef\NPS Samtal 777 agentnivå.xlsx")
For Each c In sh1.Range("C8", sh1.Cells(Rows.Count, 3).End(xlUp))
Set sh2 = wb2.Sheets(c.Value)
Set fn = sh2.Rows(24).Find(sh1.Range("B5").Value, , xlValues, xlWhole)
If Not fn Is Nothing Then
fn.Offset(1) = sh1.Range("E5").Value
End If
Next
End Sub
WB2:誰もが何か提案がありましたらhttps://docs.google.com/spreadsheets/d/1vcfnluE_PSm5dEEeHuBPA9XRoP-VPQRk3YDE7ONS-NE/edit?usp=sharing
私は非常に喜んでいただけることでしょう。
//は、Excelが間違ったファイルのワークシートを探しているように思えダニエル
まだ同じエラーが表示されることがあります。エラーが発生する可能性があります。例1の間違った行の通知に感謝します。 デバッグモードで、コードを実行すると、何か理由でc.value = emptyにマウスを置くことができます。 –