在循环的情况下,替换VBA中函数内的工作表名称
我正在创建一些基于工作表格式的工作表,只是简单地用公式复制它的所有内容。只有我给这张纸起了个新名字 我希望,每次我创建一个表,并给它一个名称,格式!所有单元格中的单词必须替换为活动工作表名称 我试着写一些代码,但似乎不起作用在循环的情况下,替换VBA中函数内的工作表名称,vba,excel,Vba,Excel,我正在创建一些基于工作表格式的工作表,只是简单地用公式复制它的所有内容。只有我给这张纸起了个新名字 我希望,每次我创建一个表,并给它一个名称,格式!所有单元格中的单词必须替换为活动工作表名称 我试着写一些代码,但似乎不起作用 Sub createsheet() LastRow = Sheets("SUMMARY").Range("A" & Rows.Count).End(xlUp).Row Dim ws As Worksheet For i = 9 To La
Sub createsheet()
LastRow = Sheets("SUMMARY").Range("A" & Rows.Count).End(xlUp).Row
Dim ws As Worksheet
For i = 9 To LastRow
Set ws = ThisWorkbook.Sheets.Add(after:= _
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
ws.Name = Left(Sheets("SUMMARY").Cells(i, 1), 31)
wsrepl = Worksheets(Worksheets.Count).Name
Sheets("format").Select
Cells.Select
Application.CutCopyMode = False
Selection.Copy
Worksheets(Worksheets.Count).Activate
ActiveSheet.Paste
ActiveSheet.Cells(2, 2) = Sheets("SUMMARY").Cells(i, 1)
ActiveSheet.Cells(5, 2) = Sheets("SUMMARY").Cells(i, 1)
Worksheets(Worksheets.Count).Activate
Cells.Replace What:="format!", Replacement:= _
wsrepl, LookAt:=xlPart, SearchOrder:=xlByRows _
, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next i
End Sub
我们将非常感谢您的帮助
Cells.Replace What:="format!", Replacement:= _
"'" & wsrepl & "'" & "!", LookAt:=xlPart, SearchOrder:=xlByRows _
, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
我找到了答案。在replace语句中添加
LookIn:=xlFormulas
是否有帮助?另外,知道什么不起作用也会很有帮助。你不必调用“Worksheets(Worksheets.Count)”。最后激活“两次”。我试过了,但没有成功。当你说该格式!应该更新,你是说这个词包含在公式中的什么地方,还是说纯文本条目?当您使用wsrepl=Worksheets(Worksheets.Count).NameFormat重命名工作表时,forumulae应该自动更新!是工作表的名称。因此,每次我创建一个新的工作表时,它都应该替换为创建的工作表名称,以便公式工作