0

私は何ヶ月も機能している単純なマクロを持っていますが、再フォーマットすると突然壊れてしまいました(手がかりですが、理解できません)。問題の中心はオフセット関数であることがわかっていますが、これにはいくつかの問題があるようです。

他のもの(セル)を使いたいのですが、どうしたらいいのかわかりません。

具体的には、近くのセルをチェックして変更している範囲があります。

'Cells'でこのようなことをする方法はありますか

Dim x As Variant
x = Worksheets("Book1").Range("A131")
If (x = some value And x>0) Then
x.Offset(0,7).Value = some value
End if

現在、Excelはオブジェクトが必要であるというエラーを表示しています

4

2 に答える 2

2

SET を使用する必要があります。

SET x = Worksheets("Book1").Range("A131")

SET を使用しない場合は、実際の範囲オブジェクト (Offset() を使用する必要があります) ではなく、Cell にある値を返します。X を使用した後、x.Value を使用してセルの内容を返します。 .

于 2013-02-27T16:37:18.410 に答える
1

Cells() を使用したコード:

Dim x As Variant
Dim ws as Worksheet

Set ws = Worksheets("Book1")
x = ws.Cells(131, 1).Value ' row 131, column 1 (A131)
If (x = some value And x>0) Then
   ws.Cells(138, 1).Value = someValue ' row 138, column 1 (A138)
End if
于 2013-02-27T17:33:44.197 に答える