2

新しいワークシートを作成するマクロがあり、別のシートのセルの値に基づいてそのシートに名前を付けます(つまりsheet1.Range("F3").value)。

その後、データが配置されている同じワークブックの別のシートに移動し、特定のデータを選択して新しいシートに転送する必要があります。

これは、新しいシートを作成して名前を付けるために使用するコードです。

sub createNewSheet()

    sheet_name_to_creat = sheet1.range("F3").value

    for rep = 1 to (worksheets.count)
        if lCase(Sheets(rep).name = Lcase(Sheet_name_to_create) Then
            MagBox "This Sheet already exists"
            exit sub
        end if
    next

    Sheets.add after:=sheets(sheets.count
    Sheets(ActiveSheet.Name).name=Sheet_name_to_create

end sub
4

2 に答える 2

0

ワークシート変数を宣言し、データ シートと新しく追加したシートを変数に入れることができます。そうすれば、どちらのデータも簡単に操作できます。

Sub createNewSheet()

    Dim wsNew As Worksheet
    Dim wsData As Worksheet
    'Rename this sheet to the name of the sheet where your data is located
    Set wsData = ActiveWorkbook.Sheets("MyDataSheet")

    sheet_name_to_create = Sheet1.Range("F3").Value

    For rep = 1 To (Worksheets.Count)
        If LCase(Sheets(rep)).Name = LCase(Sheet_name_to_create) Then
            MagBox "This Sheet already exists"
            Exit Sub
        End If
    Next

    Sheets.Add after:=Sheets(Sheets.Count)
    Sheets(ActiveSheet.Name).Name = Sheet_name_to_create
    Set wsNew = ActiveWorkbook.ActiveSheet

    'Now grab the data from your data worksheet
    Dim myData As String
    myData = wsData.Range("A1").Value

    'Then put it in your newly added sheet
    wsNew.Range("A1").Value = myData

    wsData = Nothing
    wsNew = Nothing
End Sub
于 2013-06-07T14:10:00.240 に答える