私はワークシートを作成するためのマクロを作成しようとしています。 コードは次のようにする必要があります。Excel:重複のないワークシートを作成するVBA
1)「テンプレート」ワークシートのテンプレートを使用して、マスターシートからColumnBのワークシートを作成します。
2)マスターシートのColumnBの範囲は可変ですが、これはexcel-vbaの最初の試行で、可変範囲の設定方法はわかりません。
3)ColumnB
内の各セルに名前どおり3.1を各ワークシートの名前を変更します)ColumnBは、重複したエントリを持っているが、我々は、重複するセルのための唯一の1のワークシートを作成する必要があります。 (重複を削除することはできません)
4)ワークシートをマスターシートの列Bのセルにハイパーリンクします。
私は上記3.1の問題に直面しています。以下は私が有用であると感じた最も近いものです:私はそれを自分の要求に合わせることができますか?
Sub CreateAndNameWorksheets()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Sheets("Master").Range("B5:B25000")
Sheets("Template").Copy After:=Sheets(Sheets.Count)
With c
ActiveSheet.Name = .Value
.Parent.Hyperlinks.Add Anchor:=c, Address:="", SubAddress:= _
"'" & .Text & "'!A1", TextToDisplay:=.Text
End With
Next c
Application.ScreenUpdating = True
End Sub
ありがとう!
[SheetExists]をテストするために文字列として列BからCell.Valuesを使用することができます(http ://stackoverflow.com/questions/6688131/test-or-check-if-sheet-exists)この答えの関数が役立ちます。最初にシートがすでにあるかどうかをテストし、そうであれば次のセルに移動します。 –
ああ、そうですね。 –