私はまだvbaが初めてなので、ワークシートを新しいワークブックにコピーし、セル値に基づいて新しいワークブックの名前を変更する方法について質問があります。ワークシート名が「Summary」であり、ワークシートをコピーして新しいワークブックにエクスポートしたいが、新しいワークブックにセル値に従って名前を付けたい(この場合、それに応じて名前を付けたいセルB3に)。以下は私が試したコードです:
Sub Sample2()
Dim wksht As Summary
Set wksht = ActiveSheet
Dim path As String
path = "C:\Desktop"
wksht.Copy
ActiveWorkbook.SaveAs filename:=path & wksht.Range(B3).Value & ".xlsx"
End Sub
「ユーザー定義型が定義されていません」というエラーが表示され続けます。これで私を助けてくれませんか?
ありがとう。
回答 2 件
いくつかの変更が必要です:
1. @PITが述べたように、wkshtは「Summary」ではなくWorkSheetとして定義する必要があります
2.「Summary」シートからマクロを実行すると仮定すると、コードは機能します。それ以外の場合は、wkshtを「Summary」ワークシートに設定する必要があります。
3. Range(B3).ValueをRange( "B3")。Valueに変更する必要があります全体的に、グーグルを探検することをお勧めします、あなたのケースのサンプルのトン
Sub Sample2() Dim wksht As WorkSheet Set wksht = ActiveSheet Dim path As String path = "C:\Desktop\" wksht.Copy ActiveWorkbook.SaveAs filename:=path & wksht.Range("B3").Value & ".xlsx" End Sub
関連した質問
エラーの原因である可能性があります!タイプ「Summary」は定義済みタイプではありません。
Dim wksht as WorkSheet
に変更する必要があります