2012-03-23 9 views
1

特定のシートの可用性をチェックすることが可能かどうかは疑問でした。それが周りにあるならば、それはコードの残りの部分で続けられます。それ以外の場合は、シートに追加されます。シートの名前が周りにあるかどうか確認できますか?

私はそれを考えましたが、それは私にエラーを与えています。あなたが何かを知っていれば、情報を共有してください!ありがとう!

sub macro1() 
If sheets("Test") = False Then 
Sheets.Add.Name = "Test" 
End If 
'Run my code 
End Sub 

答えて

3

このようにしますか?

Sub Sample() 
    Dim ws As Worksheet 

    On Error Resume Next 
    Set ws = Sheets("Test") 
    On Error GoTo 0 

    If ws Is Nothing Then 
     Set ws = Sheets.Add 
     ws.Name = "Test" 
    End If 

    '~~> Run your code 
End Sub 
+0

はい!ありがとう..それは私が必要なものです..ありがとう!うまくいけば、私はこれを使って他の問題を解決することができます! – user1204868

1

別のアプローチ... がその関数の作成 - ワークブックオブジェクトとあなたが後にしているシートの名前と を受け入れる - シートがワークブック

Function SheetExists(oWorkbook As Workbook, sSheetname As String) 

    Dim oWs As Worksheet 
    For Each oWs In oWorkbook.Worksheets 
     If oWs.Name = sSheetname Then 
      SheetExists = True 
      Exit Function 
     End If 
    Next 

End Function 

Sub TestSheetExists() 
    If SheetExists(ActiveWorkbook, "Bob") Then 
     MsgBox "Found it" 
    Else 
     MsgBox "No joy" 
    End If 
End Sub 
で発見された場合に戻りTRUを
関連する問題