|
過去ログ
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=4519;id=excel
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=6611;id=excel
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=18971;id=excel
過去ログをまとめてみると
With Selection
MsgBox "左上アドレス " & .Address & vbLf & _
"左上行 " & .Row & vbLf & _
"左上列 " & .Column & vbLf & _
"右下行 " & .Row + .Rows.Count - 1 & vbLf & _
"右下列 " & .Column + .Columns.Count - 1 & vbLf & _
vbLf & _
vbLf & _
"左上アドレス " & .Cells(1).Address(0, 0) & vbLf & _
"範囲上の行番 " & .Cells(1).Row & vbLf & _
"範囲左の列番 " & .Cells(1).Column & vbLf & _
vbLf & _
"右下アドレス " & .Cells(.Count).Address(0, 0) & vbLf & _
"範囲下の行番 " & .Cells(.Count).Row & vbLf & _
"範囲右の列番 " & .Cells(.Count).Column
End With
ついでにある範囲におけるCellsの添え字について
えっと、1度下記コードを実行させてみてください。
少しは、基本的なことがわかるかと思います。
取り合えず範囲として、マクロでセル範囲を選択させて、選択してあるセル範囲を処理対象としてあります。
Sub Cellsの添え字の位置()
Dim cel As Range, i As Long
Range("B2:F11").Select
i = 0
For Each cel In Selection
i = i + 1
cel.Value = Format(i, "00") & " - " & Selection.Cells(i).Address(0, 0)
Next
'選択されているセルの数分のセル、つまり最後のセル
MsgBox Selection.Cells(Selection.Count).Address(0, 0)
'上は、こういう意味。2〜11で10、B〜Fで5
MsgBox Selection.Cells(10 * 5).Address(0, 0)
End Sub
Sub 選択範囲に縦の連番を()
Dim cel As Range, i As Long, ii As Long
Range("A15:F29").Select
For i = 1 To Selection.Columns.Count
For ii = 1 To Selection.Rows.Count
Selection.Cells(ii, i).Value = _
i * Selection.Rows.Count - Selection.Rows.Count + ii
Next
Next
End Sub
私の能力では、これ以上うまくまとめられませんでした.....。
|
|