web-dev-qa-db-ja.com

Excelvbaの「セル」機能の使用

範囲関数を使用してvbaを使用してExcelでセルを選択しようとしています

数値だけでなく変数を使用して範囲を指定する場合でも、これを何度も行ってきました。

しかし、セル機能を使って範囲を選択できないようです。

私は多くの研究を行い、この関数を使用して正常に実行される他の人のコードを見たので、これが可能であることを知っています。

以下は、範囲(1セルのみ)を選択するために使用している構文です。

さらに、コードを実行すると、次のメッセージが表示されます。

"実行時エラー '1004':オブジェクトの '範囲'のメソッド '_Global'に失敗しました。

ありとあらゆる助けをありがとう。

Dim item As String
Dim itempaste As Boolean
Dim itemcnt As Integer

itemcnt = 1
itempaste = False
Range("X3").Select
Do
    item = ActiveCell.Value
    If item <> "" Then
        Range("A18").Select
        Do
            If ActiveCell.Value = "" Then
                ActiveCell.Value = item
                itempaste = True
            Else
                ActiveCell.Offset(1, 0).Select
            End If
        Loop Until itempaste = True
    End If
    itemcnt = itemcnt + 2
    Range(Cells(1, (21 + itemcnt))).Select
Loop Until itemcnt = 11
5
user2572734

関数のようにRangeタイプを使用しています。 Cells呼び出しは、実際にはRangeオブジェクトを既に返しています。の代わりに

Range(Cells(1, (21 + itemcnt))).Select

..try:

Cells(1, (21 + itemcnt)).Select

より明確にしたい場合:

Dim target As Range
Set target = Cells(1, (21 + itemcnt))
target.Select
5
Geoff