ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュのシートの存在チェック後に処理を実行する方法

  • mixiチェック
  • このエントリーをはてなブックマークに追加
マクロ初心者で簡単な質問だったらすみません。

下記のコードのマクロを作ったのですが、作業するシート名が存在したりしなかったりするとエラーで止まってしまい困っています。

?ブック内に"meisai"シートがない場合
"meisaiシートを追加してから実行してください"のメッセージ表示→処理終了
?ブック内に"syukei"シートがある場合
"syukeiシートを削除してから実行してください"のメッセージ表示→処理終了

上記のようにしたいと思っています。

Google等で検索してみましたがどこにどのように記述したらいいのかが分からないので、
教えて下さい。


===コードここから====
Sub syukei()

'シート追加
Sheets("meisai").Select
Sheets("meisai").Copy Before:=Sheets(1)
Sheets("meisai (2)").Select
Sheets("meisai (2)").Name = "syukei"
Range("B1").Select

'行削除
Range("1:10,55:66").Select
Selection.Delete Shift:=xlUp
Range("B1").Select

'空白行の削除
Columns("F:F").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete

'名順で並替え
Range("A1:U668").Sort Key1:=Range("F2"), Order1:=xlAscending, Header:= _
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortNormal

'列名の入力
Range("D1").Select
ActiveCell.FormulaR1C1 = "riyou"
Range("Q1").Select
ActiveCell.FormulaR1C1 = "kingaku"
Range("Q2").Select


'不要な列の削除
Range("B:C,E:E,G:G,H:H,I:I,J:J,K:K,L:L,M:M,N:N,O:O,P:P,R:R,S:S,T:T,U:U").Select
Range("U1").Activate
Selection.Delete Shift:=xlToLeft
Range("B2").Select


'集計
Selection.Subtotal GroupBy:=3, Function:=xlSum, TotalList:=Array(4), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True

'フォントの大きさ変更
Cells.Select
With Selection.Font
.Size = 18
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Cells.EntireColumn.AutoFit
Cells.EntireRow.AutoFit
Range("B1").Select

'値表示
ActiveSheet.Outline.ShowLevels RowLevels:=2

End Sub
=====コードここまで====

コメント(6)

どっちも同じことなので片方だけ回答します。

>?ブック内に"meisai"シートがない場合
>"meisaiシートを追加してから実行してください"のメッセージ表示→処理終了

  Dim shtA As Worksheet

  Set shtA = Nothing
  On Error Resume Next
  Set shtA = Worksheets("meisai")
  On Error GoTo 0
  If shtA Is Nothing Then
    MsgBox "meisaiシートを追加してから実行してください"
    Exit Sub
  End If
>なまけものさん
すみません。
普通に検索したら出てきましたね…
>ビリーさん
ありがとうございます。
教えていただいた方法でやったらできました!!!
>マリ男さん
ありがとうございます。
シートは別の用途で使っていたファイルからコピーしてきて別のファイルにコピーするのでマクロで追加&削除してしまうと具合悪いのです。

言葉足らずですみませんでした。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。