1

アプリケーションからデータを抽出し、それをスプレッドシートに解析するためのコードをいくつか書いています。

私のスプレッドシートは次のようになります。

Scenario     ClientName         ClientNumber

5555        Smith               s0001

6776        Charles           d6666

私はこのコードを持っています:

Dim ObjExcel As New Excel.Application Dim sWindow As New WinWindow ObjExcel.Visible = False Dim stext As String

            ObjExcel.Workbooks.Open("c:\data\calcresults.xlsx")
            Dim ObjWS As Excel.Worksheet = ObjExcel.Worksheets("IP")

            Dim iNextRow As Integer = ObjWS.UsedRange.End(Excel.XlDirection.xlDown).Row + 1

            ObjWS.Cells(iNextRow,1 ) = "d66666"
            ObjWS.Cells(iNextRow, 2) = "s77898"

たとえば、次のように、インデックスではなく列名を使用します。

ObjWS.Cells(iNextRow,"Scenario" ) = "新しい行データ、最初の列"

どうすればこれを行うことができますか?

4

1 に答える 1

0

あなたの投稿から、ワークブックを開いて毎回同じ列の値を更新していると思いますか?

次のように、シート内のセルを選択し、名前ボックスに名前を入力して、Excel で範囲に名前を付けることができます。

エクセル

次に、次のように操作できます。

Dim r1 As Range
Set r1 = ActiveSheet.Range("Scenario")

r1.Value = "OOps, changed it!"
r1.Offset(1, 0).Value = "This is A2"

さらに、範囲を参照することもできます:

Dim r As Range
Set r = ActiveSheet.Range("A1")
r.Value = "gello"

複数のセル、つまり複数の行/列の範囲の名前を設定することもできます。次に、次のように操作します。

Dim r2 As Range
Set r2 = ActiveSheet.Range("SomethingElse")
r2.Cells(1) = "Summit Else 0"
r2.Cells(2) = "Summit Else 1"
r2.Cells(3) = "Summit Else 2"

行/列インデックスにアクセスするだけでは何も問題はありません。

于 2012-10-04T15:04:51.280 に答える