過去ログ

                                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:変数
 ───────────────────────────────────────  ■題名 : Re:セルの範囲指定  ■名前 : ポンタ  ■日付 : 03/1/30(木) 1:32  -------------------------------------------------------------------------
   今手元に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
ならいけるかもしれません。
 ───────────────────────────────────────  ■題名 : Re:セルの範囲指定  ■名前 : BOTTA  ■日付 : 03/1/30(木) 1:42  -------------------------------------------------------------------------
   初人さん、ポンタさん、こんばんは。

たしかCellsはオブジェクトを明示する必要があります。
Activeなシートの中でなら省略できます。
したがって上の例では、Sheet1がActiveな状態でならエラーは出ません。

ということで、
  With Sheets("Sheet1")
    .Range(.Cells(11 + i, 10), .Cells(11 + i, 11)).Merge
  End With

Cellsの前の  .  を忘れずに。
 ───────────────────────────────────────  ■題名 : Re:セルの範囲指定  ■名前 : 初人  ■日付 : 03/1/30(木) 2:02  -------------------------------------------------------------------------
   ▼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")を加えたらうまく実行しました。
ほんとうにありがとうございました。
そして、夜遅くに申し訳ありませんでした。
 ───────────────────────────────────────  ■題名 : Re:セルの範囲指定  ■名前 : ポンタ  ■日付 : 03/1/30(木) 2:13  -------------------------------------------------------------------------
   寝ぼけてたみたいです。

BOTTAさん、ご指摘のとおりですね。(汗


あと、これでもいけると思います。

Sub test1()
  Dim i As Integer
  i = 5
  Worksheets("sheet2").Range("J" & 11 + i & ":K" & 11 + i).Merge
End Sub
 ───────────────────────────────────────  ■題名 : Re:セルの範囲指定  ■名前 : 初人  ■日付 : 03/1/30(木) 1:56  -------------------------------------------------------------------------
   ▼ポンタ さん:
>今手元に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
 ───────────────────────────────────────  ■題名 : Re:セルの範囲指定  ■名前 : 初人  ■日付 : 03/1/30(木) 2:05  -------------------------------------------------------------------------
   ▼ポンタ さん:
>今手元に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
>ならいけるかもしれません。

ポンタさんなんとか解決することができました。
夜遅くにありがとうございました。
そして、申し訳ございませんでした。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 640