以下のコードは、オブジェクト '_worksheet'の 'Range'にエラーが発生しました。そのため、あるシートから別のシートにユニークIDをコピーすることはできません。私は先range
は既に充填されていると信じて一枚のシートから別のシートに一意のIDをコピーすることはできません。オブジェクト '_workheet'オブジェクトの 'Range'がエラーに失敗しました
Private Sub PopulateUniqueIds()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = ThisWorkbook.Sheets("Sheet1")
Set ws2 = ThisWorkbook.Sheets("Sheet2")
lastrows2 = GetLastRow(ws2)
ws2.Range("C4:C" & CStr(lastrows2)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ws1.Range("B9"), Unique:=True
End Sub
WS2とWS1は、二つの異なるワークシート
のワークシートオブジェクトであり、私はこの行に
ws2.Range("C4:C" & CStr(lastrows2)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ws1.Range("B9"), Unique:=True
[よくある質問のしくみ](http://stackoverflow.com/help/how-to-ask)の情報は、ヘルプページを参照してください。また、[最小値を作成する方法、Complete、Verifiable example](http://stackoverflow.com/help/mcve) –
あなたの 'GetLastRow' Sub(またはFunction)はどこですか? 'lastrows2'はどこで定義しますか?また、 'CStr(lastrows2)'は 'CLng(lastrows2)'でなければなりません。 –
私はlastrow番号を長文として渡しているGetLastRowを持っていて、それをStringに変換してconcatinatingします。 – user7360443