我有一些问题得到这个代码来设置我可以想象它的表,因为我没有dim
它但我尝试使用dim as workbook
不起作用。
我试着一步一步走,“thf”里面有正确的字符串。
Sub CreateSheet()
Set tsheet = ThisWorkbook.Sheets("For Save")
Dim th As String
Dim thf As String
Dim thfs As Workbook
th = Replace(tsheet.Range("A11").Value, "/", "-")
thf = "SAVE" & " " & th & " " & tsheet.Range("A3").Value
With ThisWorkbook
.Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = thf
Set thfs = ThisWorkbook.Sheets(thf)
tsheet.Ranges("A1:R201").Copy
qsheet.Columns("A").PasteSpecial xlPasteValues
End With
End Sub
转贴为答案。您已在以下语句thfs
中将Dim thfs As Workbook
声明为工作簿,但随后尝试将SET
作为工作表。尝试将其更改为Dim thfs As Worksheet
Worksheet
变量用于thfs
,或者将其包含在With
中,就像我在下面所做的那样试试这个:
Sub CreateSheet()
Dim tsheet As Worksheet
Dim th As String, thf As String
Set tsheet = ThisWorkbook.Sheets("For Save")
th = Replace(tsheet.Range("A11").Value, "/", "-")
thf = "SAVE" & " " & th & " " & tsheet.Range("A3").Value
With ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
.Name = Left(thf, 31) 'remove if you're sure the length won't be over 31 characters
tsheet.Ranges("A1:R201").Copy
.Range("A1").PasteSpecial xlPasteValues
End With
End Sub