2017-05-26 10 views
0

ワークシートをコピーして、3番目のシートのセル値を使用して名前を変更します。私はそのシートに取り組んでいるので、新しいシートを変数として宣言するにはどうすればいいですか?最後の行に "expected:statement of end"というエラーが表示されます。 ActiveSheetである、あなたは、単にあなたのコードが少し与えリファクタリングワークシートをコピーして名前を変更し、変数vBAを宣言します

Set wsAllo = "wsIntro.Range("b6").Value & wsIntro.Range("b7").Value" 

Set wsAllo = ActiveSheet 

を変更することができますするためにあなたが参照を設定しようとしているワークシートとして

Dim wsNew As Worksheet 
Dim wsIntro As Worksheet 
Dim wsUp As Worksheet 
Set wsUp = Worksheets("Sheet1") 

Set wsIntro = Worksheets("Instructions") 

Worksheets("Sheet1").Copy after:=Sheets(Worksheets.Count) 
With ActiveSheet.UsedRange 
.Value = .Value 
End With 
ActiveSheet.name = wsIntro.Range("b6").Value & wsIntro.Range("b7").Value 
Dim wsAllo As Worksheet 
Set wsAllo = "wsIntro.Range("b6").Value & wsIntro.Range("b7").Value" 
+1

'Set wsAllo =ワークシート(wsIntro.Range(" b6 ")。値&wsIntro.Range(" b7 ")。値)' –

+0

これも機能しました。 – Angel

答えて

2

Dim wsNew As Worksheet 
Dim wsIntro As Worksheet 
Dim wsUp As Worksheet 
Dim wsAllo As Worksheet 

Set wsUp = Worksheets("Sheet1") 
Set wsIntro = Worksheets("Instructions") 

'You shouldn't use "Sheets(Worksheets.Count)" - it will sometimes not do 
'what you expect (when you have Charts as well as Worksheets in the Workbook) 
'Use either "Sheets(Sheets.Count)" to place the new sheet as the last sheet 
'in the workbook or use "Worksheets(Worksheets.Count)" to place the new sheet 
'after the last worksheet in the workbook (but possibly with Charts after that)  
wsUp.Copy After:=Sheets(Sheets.Count) 
Set wsAllo = ActiveSheet 
With wsAllo 
    .Name = wsIntro.Range("b6").Value & wsIntro.Range("b7").Value 
    .UsedRange.Value = .UsedRange.Value 
End With 
+0

ありがとうございました、これらの変更を行います。 – Angel