1
これは初めてのスタックオーバーフローの投稿です。私はシート1のセル値に基づいて新しいワークシートを作成するためにVBAを使用しようとしています。しかし、シートが既に存在する場合は、代わりにそのシートを開く必要があります。私は実際にシートの名前を知っていないので、これで問題があります。私は、カウンターを使ってプロジェクトの名前を保管する別のシートを作成すると、これを行うことができると思いました。それは私がしている実行時エラー91がこれは私が現在持っているコードである私を示していますVBAのセル名に基づいてワークシートを開きます。
Public Sub DailyReport()
Dim project As Range
project = Worksheets("Target Flow").Range("B3")
Dim i As Integer
i = 1
If Worksheets("Target Flow").Range("B3") <>
Worksheets("Projects").Cells(1000, 1).Value Then
Worksheets("Target Flow").Range("B3").Select
Selection.Copy
Worksheets("Projects").Activate
Cells(i, 1).Select
ActiveSheet.Paste
Dim WS As Worksheet
Set WS = Sheets.Add(After:=Sheets(Worksheets.Count))
WS.Name = project.Value
i = i + 1
Else
Worksheets("Target Flow").Activate
Worksheets(ActiveSheet.Range("B3").Value).Activate
End If
End Sub
誰もが正しい方向に私を導くことができれば、私は感謝されると思います!!
OMGありがとうございます! – newbie2vba
うれしい私は助けることができます。私はシートの前に "set"コマンドを追加する答えを編集しました= Sheets.addも期待通りに動作することを確認してください。 – Graham