Excel VBA質問箱 IV

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

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


15356 / 76734 ←次へ | 前へ→

【66857】選択範囲の行と列
質問  ひろのり  - 10/10/13(水) 1:36 -

引用なし
パスワード
   こんにちは。ひろのりと申します。

任意に選択したセルの範囲の列番号(先頭と最後)の取得方法につき御教示頂けますでしょうか。

任意に選択したセルの範囲の列の幅を1行置きに自分で設定したいと思っています。

自分なりに、下記(*1)を記述し、問題なく動きました。
しかしながら、そもそも私の実力では無駄のない記述になっていないこと、また、これは選択範囲の中にあるセルの数をベースに導きだしていること、等から、もっと簡単ですっきりした記述方法があるのではないかと思っています。

ウェブ等で調べたのですが、列番号の取得そのものとしては、結果的に(*2)の記述があるのを見つけました。当然ながら、試しましたがきちんと動作します。
ここで、理解を深めたいのですが、7行目に下記が記述されています。

With .Cells(1, 1)

Cells(1, 1)というと、固定でA1セルを示すものだと思っていたのですが、実行上は、きちんと ”Areaとして選択した範囲の左上のセル”と指定していることになると思います(例えばC5:I20なら、C5セル)。

Cellsプロパティとはそういうものなのでしょうか。
このあたりを御教示頂けますとありがたいです。今のままの理解では、今後間違っCellsを使ってしまいそうです。

どうも基本中の基本かと推測され申し訳ないのですが、宜しくお願い致します。

**(1)*******************
Dim i As Integer, S As Integer, E As Integer
   S = Selection(1).Column
   E = Selection(Selection.Count).Column
  For i = S To E - 1 Step 2
 
  Columns(i).Select
  Selection.ColumnWidth = 3 '3ピッチに設定

 Next i

 For i = S + 1 To E Step 2
  Columns(i).Select
  Selection.ColumnWidth = 10 '10ピッチに設定
  
 Next i
*(1)終わり****************************
****(2)*******************************

Sub Sample_RowAndColumn()
  Dim iRow_First As Long
  Dim iRow_Last As Long
  Dim iColumn_First As Long
  Dim iColumn_Last As Long

  '選択範囲の最初の範囲を対象にします
  With Selection.Areas(1)

    '先頭行番号と先頭列番号の取得
    With .Cells(1, 1)
      iRow_First = .Row
      iColumn_First = .Column
    End With

    '最終行番号の取得(先頭行番号 + 選択行数 - 1)
    iRow_Last = iRow_First + .Rows.Count - 1

    '最終列番号の取得(先頭列番号 + 選択列数 - 1)
    iColumn_Last = iColumn_First + .Columns.Count - 1

  End With

  '結果の表示
  MsgBox CStr(iRow_First) & "行" & CStr(iColumn_First) & "列" _
    & " - " & CStr(iRow_Last) & "行" & CStr(iColumn_Last) & "列"

End Sub

**(2)の終わり************************

3 hits

【66857】選択範囲の行と列 ひろのり 10/10/13(水) 1:36 質問
【66859】Re:選択範囲の行と列 通り魔 10/10/13(水) 3:20 回答
【66928】Re:選択範囲の行と列 ひろのり 10/10/18(月) 0:28 お礼
【66862】Re:選択範囲の行と列 Jaka 10/10/13(水) 10:54 発言
【66930】Re:選択範囲の行と列 ひろのり 10/10/18(月) 0:33 お礼
【66863】Re:選択範囲の行と列 neptune 10/10/13(水) 13:25 発言
【66929】Re:選択範囲の行と列 ひろのり 10/10/18(月) 0:31 お礼

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