Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


62193 / 76738 ←次へ | 前へ→

【19153】Re:非表示部分の連番の付け方
発言  bykin  - 04/10/23(土) 19:53 -

引用なし
パスワード
   こんばんわ。

新潟県のみなさん、大丈夫でっか?
まだ余震があるみたいやから、気ぃつけておくれやす。

>Secialcells() で可視セル領域だけをループしようと思うと、
>For Each 〜 Next は OK なのですが、インデックス(カウンタ)では上手く回らないのです。

こんなんで実験してみると・・・

Sub test()
  Dim i As Long
  Dim r As Range
  Dim rr As Range
  
  Rows("2:4").Hidden = True
  Set rr = Range("A1:A5").SpecialCells(xlCellTypeVisible)
  For Each r In rr
    Debug.Print 1, r.Address
  Next
  Debug.Print "-------------------------"
  For i = 1 To rr.Cells.Count
    Debug.Print 2, rr.Cells(i).Address
  Next
  Debug.Print "-------------------------"
  For i = 1 To 10
    Debug.Print 3, rr.Cells(i).Address
  Next
End Sub

結果は↓こうなります。

1      $A$1
1      $A$5
-------------------------
2      $A$1
2      $A$2
-------------------------
3      $A$1
3      $A$2
3      $A$3
3      $A$4
3      $A$5
3      $A$6
3      $A$7
3      $A$8
3      $A$9
3      $A$10

カウンタを使うと、該当のセル範囲を超えた範囲も参照してまうってことやろね。
ちなみにイミディエイトで
?Range("A1:A2").Cells(10).Address
ってやったら、答えは$A$10で、
?Range("A1:B1").Cells(10).Address
なら、答えは$B$5でした。
Cells(Index)の場合は選択範囲の列幅で下へ、左〜右方向に参照するみたいやね。

?Range("A1:A2").Cells(3,3).Address
のときは$C$3が返るから
Cells(Row,Column)でも、選択範囲を超えて参照するみたいです。

SpecialCellsとかで飛び飛びのセル範囲を取得したときは、For Each を使わんと
思いもせん結果になるから要注意ってことですわなー

>最初の「可視セルに連番をつける」ことと、
>差込印刷がどう関係があるのか、まだ判っていません。

うーん・・・
住所録リストで件数でも確認したいんかな?
ま、こっちで推測しても始まらんけど。

ほな。
0 hits

【19029】非表示部分の連番の付け方 YN61 04/10/19(火) 19:55 質問
【19033】Re:非表示部分の連番の付け方 ichinose 04/10/19(火) 23:14 回答
【19072】Re:非表示部分の連番の付け方 YN61 04/10/20(水) 20:33 お礼
【19039】Re:非表示部分の連番の付け方 Asaki 04/10/19(火) 23:59 回答
【19071】Re:非表示部分の連番の付け方 YN61 04/10/20(水) 20:30 質問
【19122】Re:非表示部分の連番の付け方 Asaki 04/10/22(金) 10:10 回答
【19133】Re:非表示部分の連番の付け方 bykin 04/10/22(金) 22:35 発言
【19148】Re:非表示部分の連番の付け方 Asaki 04/10/23(土) 11:40 発言
【19153】Re:非表示部分の連番の付け方 bykin 04/10/23(土) 19:53 発言
【19195】Re:非表示部分の連番の付け方 YN61 04/10/24(日) 23:11 お礼
【19313】Re:非表示部分の連番の付け方 YN61 04/10/28(木) 6:38 質問
【19347】Re:非表示部分の連番の付け方 bykin 04/10/28(木) 20:04 回答
【19505】Re:非表示部分の連番の付け方 YN61 04/11/5(金) 21:11 お礼
【19056】Re:非表示部分の連番の付け方 bykin 04/10/20(水) 12:24 回答
【19073】Re:非表示部分の連番の付け方 YN61 04/10/20(水) 20:37 お礼

62193 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free