2017-01-04 8 views
1

私はこの質問は前に頼まれましたが、私はそれらの両方への回答を試してみましたし、どちらも私のために働いていない知っているからセルアドレスを取得しますVB.Net ..行と列

現在のコード:

Dim aString As String 
Dim address As String 
For Each thisTriangle In triangleArray 
    drawTriangle(rowToDrawIn, thisTriangle.getMarkedCell) 
    aString = String.Format("Activity Name: {0}", thisTriangle.getActivityDescription) 

    //here is where I am trying to get the address 
    address = xlWorkSheet.Cells.Address(rowToDrawIn, thisTriangle.getMarkedCell) 
    xlWorkSheet.Range(address).AddComment(aString) 
Next 

ご覧のとおり、私はアドレスを取得してそのアドレスにコメントを入れようとしています。このコードを実行すると、ランタイムエラーが発生します。 thisTriangle.getMarkedCellは列番号としてintを返し、行番号はrowToDrawInを返します。

何かすべてのヘルプは大歓迎です。

+0

するために、この

address = xlWorkSheet.Cells.Address(rowToDrawIn, thisTriangle.getMarkedCell) xlWorkSheet.Range(address).AddComment(aString) 

詳細を含めるように役に立つかもしれません実行時エラーと関連するデータのサンプルを表示します。 – ADyson

+0

行番号と列番号がある場合は、 '.Range(address)'の代わりに '.Cells(row、col)'を使うことができます。 – Blackwood

+0

@blackwoodこれは 'xlWorkSheet.Cells(rowToDrawIn、thisTriangle.getMarkedCell)'のようなことを言っているのですが、それは悲しいことです。私もそれについて考えました – Bob

答えて

1

rowToDrawInthisTriangle.getMarkedCellが両方とも正の整数であると仮定します。

あなたの不具合は​​です。 Cells.Address(1,2)を渡した場合、$B$1を得ることを期待していますが、実際には$1:$10485761となり、今ではこの範囲にコメントを追加しようとしています。

Cells.Address(1、2)!=細胞(1、2).Address

変更

xlWorkSheet.Cells.(rowToDrawIn, thisTriangle.getMarkedCell).Comment.Delete 
xlWorkSheet.Cells.(rowToDrawIn, thisTriangle.getMarkedCell).AddComment(aString) 
+0

私はあなたがどこから来ているのか見ていますが、私はまだSystem.NullReferenceExceptionを取得していて、オブジェクト変数またはブロック変数が設定されていないと言っています – Bob

+0

どのライン? – cyboashu

+1

私はそれを見つけたと思う、私は1秒で更新されます – Bob