goo blog サービス終了のお知らせ 

エクセルテクニック

エクセルのテクニック情報共有をしましょう。

不要行削除

2006-08-01 00:00:00 | マクロ
不要行削除

データが何も入っていない行を削除し、詰めたい時に便利なマクロです。
Application.ScreenUpdating = False
On Error Resume Next
With Cells
.SpecialCells(xlCellTypeConstants).EntireRow.Hidden = True
.SpecialCells(xlCellTypeFormulas).EntireRow.Hidden = True
.SpecialCells(xlCellTypeComments).EntireRow.Hidden = True
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
.EntireRow.Hidden = False
End With
Application.ScreenUpdating = True


データが入っている行を全て非表示にし、残った行だけ削除し、非表示にした行を表示させています。


図形一括削除

2006-07-30 00:00:00 | マクロ
図形一括削除

シート上の図形を一括削除したい時に便利なマクロです。
ActiveSheet.DrawingObjects.Delete
上記のように記載すると、シート上の図形が一気に消せます。

数式が入っているセルに色を付ける

2006-07-29 00:00:00 | マクロ
数式が入っているセルに色を付ける

数式が入っているセルだけに色を付ける際は、以下のように記載します。
With Cells
.Interior.ColorIndex = xlNone
On Error Resume Next
.SpecialCells(xlCellTypeFormulas).Interior.Color = vbRed
End With

上記のように記載すると、数式が入っているセルに赤色が付き、判別しやすくなります。

ハイパーリンクをリンク先アドレス表記へ

2006-07-28 00:00:00 | マクロ
ハイパーリンクをリンク先アドレス表記へ

ハイパーリンクのリンク先アドレスの表記にしたい場合は、下記のように記載します。
Dim link As Range

For Each link In ActiveSheet.UsedRange
If link.Hyperlinks.Count = 1 Then
link.Value = link.Hyperlinks(1).Address
End If
Next

上記を実行すると、全てのハイパーリンクがアドレス表記になります。

列幅を指定

2006-07-27 00:00:00 | マクロ
列幅を指定

列幅を指定した幅にする際は、このように記載します。
Columns("A:A").ColumnWidth = 列幅

Columns("A:A").ColumnWidth = 10
上記のように記載すると、A列が10になります。

シート追加

2006-07-26 00:00:00 | マクロ
シート追加

シートを追加したい時に便利なマクロです。
Sheets.Add after:=Worksheets(Worksheets.Count), Count:=2
上記のように記載すると、一番最後にシートが2枚追加されます。

確認メッセージを表示せずに削除

2006-07-24 00:00:00 | マクロ
確認メッセージを表示せずに削除

確認メッセージを表示せずにシートを削除したい場合は、以下のように記載します。
Application.DisplayAlerts = False

お分かりかと思いますが、表示したい場合は下記に通りです。
Application.DisplayAlerts = True

セルの色判別

2006-07-23 00:00:00 | マクロ
セルの色判別

セルの色を判別し、色ごとに集計をかけたい時に便利なマクロです。
Function Cell_C(CellC As Range) As Integer

Application.Volatile
Cell_C = CellC.Interior.ColorIndex

End Function


上記のように記載し、関数で表中に=Cell_C(色が付いているセルの場所)と記載する事により、色によって番号が表示されます。

=Cell_C(A1)と記載すると、A1のセルの色が番号になって表示されます。

※Cell_CおよびCellCは任意の表記ですので、変えて頂いて構いませんが、かぶるとエラーになります。

順序を最前面に移動

2006-07-22 00:00:00 | マクロ
順序を最前面に移動

図形やワードアートなどの順序を最前面に移動したい場合は、下記のように記載します。
ActiveSheet.Shapes("図形名").Select
Selection.ShapeRange.ZOrder msoBringToFront


ActiveSheet.Shapes("WordArt 1").Select
Selection.ShapeRange.ZOrder msoBringToFront

上記のように記載すると、ワードアートの1が最前面に表示されます。