<< Prev Page Next Page >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


仕様書を書くのがちょっと楽になるExcel VBA

Excelで仕様書を書いていて、図に番号を振ったりするのが面倒だったり、目次を作るのが面倒だったりするのでPERSONAL.XLSにマクロを作っている。「あ、メンドクセ」と思ったときにちょこちょこ付け足すんだけど、OSをWindows7にしたときにバックアップとってなくて消えちゃった。

最近また増えてきたので公開するよ。

ヘッダフッタの文字列はそのときそのときで適当に書き換えて使う。



Option Explicit

Sub すべてのシートのヘッダフッタを揃える()
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In ActiveWorkbook.Sheets
Setヘッダフッタ sh
Next
Application.ScreenUpdating = True

End Sub

Sub ヘッダフッタ()
Application.ScreenUpdating = False
Setヘッダフッタ ActiveSheet
Application.ScreenUpdating = True
End Sub

Private Sub Setヘッダフッタ(sh As Worksheet)
With sh.PageSetup
.LeftHeader = "&9&F"
.CenterHeader = ""
.RightHeader = "&10&A"
.LeftFooter = ""
.CenterFooter = "- &P / &N -"
.RightFooter = ""
End With
End Sub



Sub 現在のシートを複製()
' Keyboard Shortcut: Ctrl+m
ActiveSheet.Copy Before:=ActiveSheet
End Sub

' 現在選択しているセル以下にシート一覧を作成する
Sub シート一覧出力()
Dim sh As Worksheet
Dim cell As Range
Application.ScreenUpdating = False
Set cell = ActiveCell

For Each sh In ActiveWorkbook.Sheets
cell.Value = sh.Name
cell.Hyperlinks.Add Anchor:=cell, Address:="", SubAddress:=sh.Name & "!A1", TextToDisplay:=sh.Name
cell.Font.Size = 10
Set cell = cell.Offset(1, 0)
Next
Application.ScreenUpdating = True
End Sub

' テキストボックスを複数選択して実行すると、()つきの連番になる
Sub 連番テキストボックス()
' Keyboard Shortcut: Ctrl+g

Dim box As Shape
Dim v
Dim i As Integer
Application.ScreenUpdating = False
i = 1

If TypeName(Selection) = "DrawingObjects" Then
For Each v In Selection
If TypeName(v) = "TextBox" Then
v.Characters.Text = "(" & i & ")"
i = i + 1
End If
Next
End If
Application.ScreenUpdating = True
End Sub



この記事に対するコメント

この記事に対するコメントの投稿



管理者にだけ表示を許可する

この記事に対するトラックバック

トラックバックURL
http://tockri.blog78.fc2.com/tb.php/234-16e04f45
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。