我有这个vba脚本,可以在excel文件的标题中写入一些信息。遗憾的是,它不会更新左右标头中已经写入的内容,尽管我在再次写入标头之前将标头设置为空。 (请参见下面的代码和图片)
有人知道出什么事了吗? 预先感谢!
ActiveSheet.PageSetup.LeftHeader = ""
ActiveSheet.PageSetup.CenterHeader = ""
ActiveSheet.PageSetup.RightHeader = ""
ActiveSheet.PageSetup.LeftHeader = Zeichnung '.Value
ActiveSheet.PageSetup.CenterHeader = Bezeichnung '.Value
ActiveSheet.PageSetup.RightHeader = index_kpl '.Value
编辑: 同样,似乎已删除了较旧字符串的最后两个字符。如果我提前删除了最后两个,它将删除另外两个角色。
EDIT2: 如果我逐步运行脚本,它将起作用。
如果启用/禁用ScreenUpdate,则无效。
EDIT3 在清除和写入标头之间等待(Application.wait())也无济于事。
EDIT4 整个代码如下(george86要求):
Sub ausdrucken()
Sheets("alle_Zuweisungen").Select
Bezeichnung = ActiveWorkbook.Sheets("Steuerung").Range("J3").Value
Bezeichnung = CStr(Bezeichnung & "")
Zeichnung = ActiveWorkbook.Sheets("Steuerung").Range("J4").Value
Zeichnung = CStr(Zeichnung) ' & "")
aktueller_Index = ActiveWorkbook.Sheets("Steuerung").Range("J5").Value
index_kpl = "Änderungsindex " & aktueller_Index
index_kpl = CStr(index_kpl & "")
benutze_Zeilen = ActiveSheet.UsedRange.Rows.Count
PrintArea = "A4" & ":" & "J" & benutze_Zeilen
ActiveSheet.PageSetup.PrintArea = PrintArea '"PrintArea:PrintArea"
'Application.PrintCommunication = False
ActiveSheet.PageSetup.LeftHeader = ""
ActiveSheet.PageSetup.CenterHeader = ""
ActiveSheet.PageSetup.RightHeader = ""
Application.Wait (2)
ActiveSheet.PageSetup.LeftHeader = ""
ActiveSheet.PageSetup.CenterHeader = ""
ActiveSheet.PageSetup.RightHeader = ""
'Application.Wait (1)
'newHour = Hour(Now())
'newMinute = Minute(Now())
'newSecond = Second(Now()) + 2
'waitTime = TimeSerial(newHour, newMinute, newSecond)
'Application.Wait waitTime
ActiveSheet.PageSetup.LeftHeader = Zeichnung 'CStr("&L" & Zeichnung) '.Value
ActiveSheet.PageSetup.CenterHeader = Bezeichnung ' CStr("&C" & Bezeichnung) '.Value
ActiveSheet.PageSetup.RightHeader = index_kpl 'CStr("&R" & index_kpl) '.Value
Debug.Print (Zeichnung)
Debug.Print (Bezeichnung)
Debug.Print (index_kpl)
Application.ScreenUpdating = True
答案 0 :(得分:1)
非常感谢您的建议!
我找到了解决方案。 在我之前录制的宏中,有一行 Application.PrintCommunication = False
...在代码内。 删除后,它会按您的预期工作。