[[20130404161333]] 『指定した範囲のアクティブセルを選択』(ちぃ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『指定した範囲のアクティブセルを選択』(ちぃ)
 いつもお世話になっております。

 マクロ超初心者です。
 おそらく基本的なところだと思いますが、
 A列〜Y列までデータが入っていて、
 A列からI列のアクティブセルを選択し、罫線を引きたいのですが、
 「A列からI列のアクティブセルを選択」がうまくいきません。

 [Ctrl]+[Shift]+[↓]のようなマクロを組みたい。
 というのは色々なサイトで検索して見つかるのですが、
 どうしても思いどぉりの結果が返ってきません。

 できればわかりやすく、よろしくお願いいたします。


例えば範囲を選択して、マクロの記録を取れば8割は完成です。
線の太さや色などもあるでしょうから、そちらでトライされて結果を
貼り付ければ回答者も理解しやすいのですが。

列は決まっていても最終行が確定できない!というのが通常のパターンなんですが。
ここまで出来そうですか?

と、Excel は 2003・2007・2010?

(Cod)


 アクティブセル を正しい意図で使用しているでしょうか。
 アクティブセルは現在カーソルがあるセルのことですから、アクティブセルを選択
 という操作がよく分からないのですが、もしかしてこういうことでしょうか。

 Sub Sample()
      Intersect(ActiveCell.EntireRow, Columns("A:I")).Borders.Weight = xlThin
 End Sub

 あるいは

 Sub Sample()
      Intersect(Selection.EntireRow, Columns("A:I")).Borders.Weight = xlThin
 End Sub

 かな?
 (Mook)


 Codさん
 >列は決まっていても最終行が確定できない!
 そうです。すみません・・・言葉が足りませんでした。
 罫線は出来てます。
 あとは罫線を引く範囲を指定できれば完成なのですが。
 Excelは2003です。
 (ちぃ)

今の範囲指定を提示いただければ修正しますが。

基本は
Range("I1").End(xlDown).Row または
Range("I" & Rows.Count).end(xlup).Row です。
の上から求めるか、下から上に 最終行を求めるかです。

(Cod)


どのような罫線かが分からないので、セルを囲むようにしてます。

Sub ATest()

 Dim Lno As Long, i As Long

    Lno = Range("I" & Rows.Count).End(xlUp).Row
    For i = 7 To 12
        Range("A1:I" & Lno).Borders(i).LineStyle = xlContinuous
    Next

End Sub

'''===== 罫線位置
''' 5 : 右下がり 6 : 右上がり
''' 7 : 左    8 : 上      9 : 下     10 : 右
'''11 : 内部 縦 12 : 内部 横

注).BorderAround でも7,8,9,10 と同様の事が出来ます。
(Cod)


 To Codさん
 投稿するとき、行頭に全て、半角スペースを入れると、フォントが統一されますよ・・・・

 罫線をセットする領域と種類が不明だけど、A列〜I列のデータ最終行までということで
 データ最終行の判定をA列でできるなら。
 (領域の指定方法は、それこそ、星の数?ほどあるけど、その一例)

 Sub Sample()
    Range("A1", Range("A" & Rows.Count).End(xlUp)).Columns("A:I").Borders.LineStyle = xlContinuous
 End Sub

 (ぶらっと)

 >>投稿するとき、行頭に全て、半角スペースを入れると、フォントが統一されますよ・・・・
 ありがとうございます。何となくそうかなとは思っていたんですが、
 めんどくさがり屋さんで、なるべくそうします。

(Cod)


 Mookさん

 ありがとうございます。
 アクティブセルではなかったですね。
 データが入っている範囲です。

 勉強不足ですみません・・・
 (ちぃ)

 Codさん
 ありがとうございます。
 お返事が遅くなってしまい申し訳ありません。

 範囲はA列〜I列のデータの最終行です。
 罫線は外枠は普通の?罫線で、
 Selection.BorderAround Weight:=xlContinuous    '外枠通常の線

     With Selection.Borders(xlInsideVertical)       '内側細い線
         .LineStyle = xlContinuous
         .Weight = xlHairline
     End With
     With Selection.Borders(xlInsideHorizontal)
         .LineStyle = xlContinuous
         .Weight = xlHairline
     End With

 としています。
 内側はマクロ記録でやったので、明らかいらない行は消しましたが、
 あとはわからず放置です・・・。

 質問とはずれてしまいますが、省略できるところを教えていただけるとうれしいです。
 (ちぃ)

 ぶらっとさん
 いつもありがとうございます。
 領域の指定方法はそんなに沢山あるんですね!
 A列から領域を指定する発想に至りませんでした・・・

 勉強になりました。

 (ちぃ)

 みなさま ありがとうございました。
 完成いたしました。

 Codさん、先ほどのソース?は間違えておりました。
 外枠の線がxlContinuousではなく、xlThinでした。

 またよろしくお願いいたします。

 (ちぃ)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.