Visual Studio 2010 を使用して、Excel ブック テンプレートからプロジェクトを作成しています。VS2010 では、1 つのワークシートを含むワークブックが既に提供されています。もう一つ追加しました。プロジェクトは次のファイルで構成されています。 ThisWorkbook.vb Sheet1.vb Sheet2.vb
各ファイルは、各オブジェクトのクラスで構成されています。Sheet1.vb にはその Sheet1 クラス、Sheet2.vb には Sheet2 クラスなどがあります。
MSDN のヘルプと別の情報源から、Globals ステートメントを使用して vb ファイルまたは別のクラスから他のクラス オブジェクトにアクセスできることがわかりました。
Me.Range("A10").Value = "Validation time:"
Me.Range("B10").Value = ValidationTime_T1.Item(ValidationTime_T1.Count - 1) - ValidationTime_T0.Item(ValidationTime_T0.Count - 1)
Dim x As Double
Dim rowOffset As Integer
rowOffset = 3
For x = 0 To JobCounter
Globals.Sheet2.Cells(x + rowOffset, 1) = x
Globals.Sheet2.Cells(x + rowOffset, 2) = ASy_Start_Mem.Item(x)
Globals.Sheet2.Cells(x + rowOffset, 3) = WSZ_Start_Mem.Item(x)
Globals.Sheet2.Cells(x + rowOffset, 4) = WSZ_Start_Pk_Mem.Item(x)
Globals.Sheet2.Cells(x + rowOffset, 5) = PFU_Start_Mem.Item(x)
ご覧のとおり、あるシートから別のシートにデータを移動するか、メモリ内のデータをシート 1 からシート 2 に配置します。
ここまでは順調ですね。自分で解決できない問題はそれほど多くありませんでした。
ここで、私のバックグラウンドは過去 4 年間の C、C++、Perl、および VBA であることを指摘しておくとよいと思います。そのため、VB にかなり苦労しています。エクセルでやってますが、大変です。
ここで、位置に基づいて特定のセルを選択する必要があり、常に同じ位置であるとは限らないため、MSDN、フォーラム、StackOverFlow、およびさまざまなサイトで見つけたように、ハードコードされていない動的に選択する必要があります。使用する:
Globals.Sheet2.Range("C7").Select()
ええ、それは、文字列を使用して選択する特定のセルには問題ありません。
問題は、毎日のデータに応じて毎回異なるセルを選択する必要があることです.Rangeでそれを行う方法がわかりません。前のコードでは、そのためにセルを使用したことがわかります。
私はもう試した:
Globals.Sheet2.Range(Globals.Sheet2.Cells(2, 2), Globals.Sheet2.Cells(6, 3)).Select()
Range 定義の 1 つは、パラメーターとして 2 つの Cells オブジェクトを受け取ることができると述べているためですが、エラーが発生します。セル位置の Range オブジェクトを作成しようとしました。CType で Object オブジェクトを使用しましたが、これも失敗します。
範囲またはセル、またはその両方を使用してセルを動的に選択する方法を誰かが助けることができる場合、または別の解決策がある場合は、喜んで感謝します。