Sorumluluk Reddi: VBA ile çalışmamdan birkaç yıl geçti, bu yüzden kendimi çok farklı bir dille karıştırmamın neden olduğu bir sorun olabilir genellikle uğraştığım şeyden.Excel üstbilgileri/altbilgileri boş bırakılmadıkça VBA aracılığıyla değişmeyecek
So; Çok sayfalı (20+) bir çalışma kitabım var (Excel 2010), bunların çoğu çok sayfalı. Her şeyi yazdırırken işleri daha kolay hale getirmek için, diğerlerinin yanı sıra sayfanın adını, sayfa sayısını ve benzeri bazı sayfalara özgü üstbilgileri eklemek istiyorum.
Başlığı ayarlayan tüm sayfalar üzerinde yineleme yaparak (teoride) bunu benim için yapması gereken küçük bir işlev yazdım. Ancak, bazı nedenlerden dolayı sadece başlık boşsa çalışır; Zaten bir değeri varsa, bilinmeyen bir nedenden ötürü üzerine yazmayı reddeder.
Dim sheetIndex, numsheets As Integer
sheetIndex = 1
numsheets = Sheets.Count
' Loop through each sheet, but don't set any of them to active
While sheetIndex <= numsheets
Dim sheetname, role, labeltext As String
sheetname = Sheets(sheetIndex).name
role = GetRole(mode)
labeltext = "Some text - " & sheetname & " - " & role
With Sheets(sheetIndex).PageSetup
.LeftHeader = labeltext
.CenterHeader = ""
.RightHeader = "Page &[Page]/&[Pages]"
.LeftFooter = "&[Date] - &[Time]"
.CenterFooter = ""
.RightFooter = "Page &P/&N"
End With
sheetIndex = sheetIndex + 1
Wend
Çok garip davranış. Sorunu Excel 2010'da çoğaltabilirim. Başlığı el ile değiştirirken bir makroyu kaydedersem bile o makroyu çalıştırırsanız düzgün çalışmaz. Başlık metninin bölümlerini ekleme ile ilgili rasgele davranış. – Stewbob
Evet, başlığın diğer bölümlerine pagenumbers eklerken bazı sorunlar yaşadım; Bazı sebeplerden dolayı Excel, sihirli kelimelerin bir kısmını (örneğin &. [Sayfalar] ile & [Pa] değiştirerek) kaldırır, böylece tüm başlığı işe yaramaz hale getirir. Bu, yalnızca başlık bir makro tarafından düzenlendiğinde olur, örn. eğer LeftHeader değiştirirse, aynı zamanda dağınık olacak RightHeader – bjelleklang
Excel 2010'a sahip olmamanız lütfen beni görmezden gelmeyin - ancak, eğer varsa, etkiyi bilmek istiyorum: 'role = GetRole (Mode) ' – pnuts