趣味のエクセルで当てよう!ロト・ナンバーズ

当選狙いで、ナンバーズ4をメインにロト、ビンゴ5などの各種データリストや、それらの分析用エクセルVBAなどについて書いてます。

列幅を調整するマクロ

ミニロトやロト6の当選データの列幅を調整して、パソコン画面に上手く表示するのが


すごく面倒でした。(多くの表データをメニューから手で列幅を調整するのは無理)


自動記録マクロで列幅を調整して、それを元にマクロで作りなおして見ました。(列幅 5.63 3.38 4.5)


ナンバーズ申込カード印刷 - 趣味のエクセルで当てようロト・ナンバーズ




自動記録マクロ (ひとつの表の列幅を修正)


Option Explicit


Sub Macro1()


    Columns("AME:AME").Select
    Selection.ColumnWidth = 5.63
    Columns("AMF:AMK").Select
    Selection.ColumnWidth = 3.38
    Columns("AML:AML").Select
    Selection.ColumnWidth = 4.5
    Columns("AMM:AMM").Select
    Selection.ColumnWidth = 4.5
End Sub




作りなおしたマクロ (複数の表の列幅を修正)


Sub retu_haba()
  retu = ActiveCell.Column
  
                If Cells(1, retu) = "" Then End
         
    Columns(retu).Select
    Selection.ColumnWidth = 5.63
  
   For r = 1 To 7
    Columns(retu + r).Select
    Selection.ColumnWidth = 3.38
   Next r


    Columns(retu + 8).Select
    Selection.ColumnWidth = 4.5
   
     Columns(retu + 9).Select
    Selection.ColumnWidth = 4.5
   
     Columns(retu + 10).Select
    
  If retu > 1070 Then End
   retu_haba


End Sub



-----------------------------------------------
   For r = 1 To 7  を 下のようにしても良いですね


  For r = 1 To 9
    Columns(retu + r).Select
    Selection.ColumnWidth = 3.38
 
    If r > 7 Then
    Columns(retu + r).Select
    Selection.ColumnWidth = 4.5
  
    End If
   
    Next r






ユーザーホームから列幅を調整するようにすれば良いですね。


その場合は列数の問題がありますが?