Excelのこととか色々

マクロをどんな Excel ファイルにも実行できるように設定して、3秒かかる操作も1秒で完了。あといろいろ書いてみます・・・

【Excel/VBAのこと46】連続で選択したセルの範囲だけ操作する(行高 列幅の操作)

   f:id:tuna-kichi:20200223230814p:plain

 

 

行、列のサイズを調整するとき、調整したい行、列が小さい場合、

すごく面倒です。(特にそのシートが方眼上になっている場合)

サイズを調整するハンドルにするのに手こずる時があります・・・

方眼シートの時は面倒・・・

 

なので、連続した選択範囲のみの行高、列幅を調節するマクロを作りました。

セルの選択はキーボードでもできますからね。

 

下図のように9セルを選択した場合、この順番でセルに番号が振られます。

Selection(i) にして For loop で回せば1セルずつ操作できます。

今回は、行高、列幅を操作します。

 選択した範囲の Selection の順番

 

**********************************************

マクロ

Sub 選択範囲_行高プラス10()

    Dim r As Long   
    Dim LastR As Long '最終行
    
    LastR = Selection.Rows.Count    '選択されている範囲の行をカウントする
    
    For r = 1 To LastR
        Selection(r).RowHeight = Rows(r).RowHeight + 10 '現在の行高に10プラスする
    Next r

End Sub

------------------------------------------------------

Sub 選択範囲_列幅プラス10()

    Dim c As Long   
    Dim LastC As Long '最終列
    
    LCell = Selection.Count ’選択されている範囲の列をカウントする
    
    For c = 1 To LastC
        Selection(c).ColumnWidth = Selection(c).ColumnWidth + 10
    Next c

End Sub

------------------------------------------------------

Sub 選択範囲_行高AutoFit()

    Dim r As Long   'Row のこと
    Dim LastR As Long   '最終行のこと
    
    LastR = Selection.Rows.Count    '選択されている範囲の行をカウントする
    
    For r = 1 To LastR
        Selection.Rows(r).AutoFit
    Next r

End Sub

------------------------------------------------------

Sub 選択範囲_列幅AutoFit()

    Dim c As Long   'Column のこと
    Dim LastC As Long   '最終列のこと
    
    LastC = Selection.Columns.Count    '選択されている範囲の列をカウントする
    
    For c = 1 To LastC
        Selection.Columns(c).AutoFit
    Next c

End Sub

**********************************************

「+10」「-10」の数値を変えたものをいくつか準備しておくのもよいかもしれませんね。

 

列幅を保持して貼り付け

既存の表などのサイズを変更でなく、

コピー → 別のシートに貼り付け と一連の操作をするのであれば

「元の列幅を保持」を選択すれば、コピー元と同じ列幅で貼り付けることができます。

行高は調整が必要ですが、列の調整は不要なので、ひと手間省けます。

 

**********************************************

Sub 選択範囲_列幅維持して貼り付け()

    Selection.PasteSpecial Paste:=xlPasteColumnWidths
    ActiveSheet.Paste

End Sub

**********************************************

 元の列幅を維持して貼り付ける



あとは、いつも通りこのマクロをリボンに登録して、

いつでも、どんなファイルにでも使えるようにしておきます。

 

 リボンに登録

 

------------------------------------------------

 

 

個人用マクロブックについてはこちら

www.tuna-kichi.com

 

リボンに登録についてはこちら

www.tuna-kichi.com

 

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/

 

 

 

PVアクセスランキング にほんブログ村 Excelのこととか色々 - にほんブログ村 にほんブログ村 子育てブログ 幼稚園児育児へ にほんブログ村 英語ブログ 初心者英語へ にほんブログ村 IT技術ブログ VBAへ