ある特定の名前付き範囲セルの値を別の名前付き範囲にコピーするコードを少し書き込もうとしています。
コードは次のとおりです。
If Not Intersect(Target, Target.Worksheet.Range("RaceDrop")) Is Nothing Then
If Range("RaceDrop") = Range("Races").Cells(1, 1) And Range("ClassDrop") = Range("Classes").Cells(1, 1) Or Range("Races").Cells(1, 1) And Range("ClassDrop") = Range("Classes").Cells(1, 2) Then
Range("OriginDrop") = Range("Origins").Cells(1, 1)
"Range(" X ")= Range(" Y ")。Cells(x、x)"のようなすべてのステートメントは、Ifステートメントと結果でエラーを出します。ただし、Range( "Races")。Cells(1、1)の"Human"などの静的ステートメントにするとします。この回避策は機能しますが、すべての参照を動的にして、データ値の変更や移動にかかる時間を大幅に短縮したいと思います。
たとえば、Range( "Origins")。Cells(1、1).Textを試しましたが、それでも機能しません。これについて別の方法はありますか?
編集:私が得るエラーは「オブジェクト'_Worksheet'のメソッド'範囲'が失敗しました」であることも追加する必要があります
追加した:
Cells()での参照は、1つのセルだけでなく、実際の範囲を参照しているためです。大きなテーブルを参照するものもあるため、Range( "Table")。Cells(5、3)の場合もありますが、必ずしも1、1を参照するとは限りません。特定のセルを参照する別の方法がわかりません。それよりもテーブルで。
たとえば、私がやりたいビットは次のとおりです。Range( "OriginDrop")= Range( "Origins")。Cells(4、1)