Page 640 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼セルの範囲指定 初人 03/1/30(木) 1:17 ┗Re:セルの範囲指定 ポンタ 03/1/30(木) 1:32 ┣Re:セルの範囲指定 BOTTA 03/1/30(木) 1:42 ┃ ┗Re:セルの範囲指定 初人 03/1/30(木) 2:02 ┃ ┗Re:セルの範囲指定 ポンタ 03/1/30(木) 2:13 ┣Re:セルの範囲指定 初人 03/1/30(木) 1:56 ┗Re:セルの範囲指定 初人 03/1/30(木) 2:05 ─────────────────────────────────────── ■題名 : セルの範囲指定 ■名前 : 初人 ■日付 : 03/1/30(木) 1:17 -------------------------------------------------------------------------
「R1C1形式」でセルの範囲を指定したいのですが、エラーが出てしまい指定する事ができません。 もしかして、Xpでは使えないのですか? どうか教えてくれませんか。お願いします。 一応問題の1行を書いておきます。 Sheets("シート名").Range(cells(11 + i,10),cells(11 + i,11)).Merge i:変数 |
今手元にXpがないので、検証できませんが、 使えると思います。 もっと簡単な例で試すとどうなりますか? たとえば、 Sub test() Range(Cells(1, 1), Cells(1, 2)).Select End Sub ↑がエラーなく実行できれば、 「R1C1形式」で範囲指定できる、ということですよね。 自信ないですけど、もしかしたら、 Sheets("シート名").Range(Cells(11 + i, 10), Cells(11 + i, 11)).MergeCells = True ならいけるかもしれません。 |
初人さん、ポンタさん、こんばんは。 たしかCellsはオブジェクトを明示する必要があります。 Activeなシートの中でなら省略できます。 したがって上の例では、Sheet1がActiveな状態でならエラーは出ません。 ということで、 With Sheets("Sheet1") .Range(.Cells(11 + i, 10), .Cells(11 + i, 11)).Merge End With Cellsの前の . を忘れずに。 |
▼BOTTA さん: >初人さん、ポンタさん、こんばんは。 > >たしかCellsはオブジェクトを明示する必要があります。 >Activeなシートの中でなら省略できます。 >したがって上の例では、Sheet1がActiveな状態でならエラーは出ません。 > >ということで、 > With Sheets("Sheet1") > .Range(.Cells(11 + i, 10), .Cells(11 + i, 11)).Merge > End With > >Cellsの前の . を忘れずに。 BOTTAさんありがとうございます。 cellsの前にSheets("Sheet1")を加えたらうまく実行しました。 ほんとうにありがとうございました。 そして、夜遅くに申し訳ありませんでした。 |
寝ぼけてたみたいです。 BOTTAさん、ご指摘のとおりですね。(汗 あと、これでもいけると思います。 Sub test1() Dim i As Integer i = 5 Worksheets("sheet2").Range("J" & 11 + i & ":K" & 11 + i).Merge End Sub |
▼ポンタ さん: >今手元にXpがないので、検証できませんが、 >使えると思います。 > >もっと簡単な例で試すとどうなりますか? > >たとえば、 > >Sub test() > Range(Cells(1, 1), Cells(1, 2)).Select >End Sub > >↑がエラーなく実行できれば、 >「R1C1形式」で範囲指定できる、ということですよね。 > >自信ないですけど、もしかしたら、 >Sheets("シート名").Range(Cells(11 + i, 10), Cells(11 + i, 11)).MergeCells = True >ならいけるかもしれません。 ポンタさんのおかげで原因がなんとなく分かったのですが、Sheets("シート名")が原因ではないかと。 これがなければ、worksheet上ではうまく実行できました。しかし、今回はシート名は任意に変わり、そして選択されたシートはアクティブにしたくないのです。 どうにか良い方法はないですか? また、以下の教えてもらいました方法では、やはりエラーが出てしまいました。 >Sheets("シート名").Range(Cells(11 + i, 10), Cells(11 + i, 11)).MergeCells = True |
▼ポンタ さん: >今手元にXpがないので、検証できませんが、 >使えると思います。 > >もっと簡単な例で試すとどうなりますか? > >たとえば、 > >Sub test() > Range(Cells(1, 1), Cells(1, 2)).Select >End Sub > >↑がエラーなく実行できれば、 >「R1C1形式」で範囲指定できる、ということですよね。 > >自信ないですけど、もしかしたら、 >Sheets("シート名").Range(Cells(11 + i, 10), Cells(11 + i, 11)).MergeCells = True >ならいけるかもしれません。 ポンタさんなんとか解決することができました。 夜遅くにありがとうございました。 そして、申し訳ございませんでした。 |