資源描述:
《在excel工作表的任意單元格中設置頁碼》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。
1、★Excel服務器學習和下載園地★[分享]在Excel工作表的任意單元格中設置頁碼[復制鏈接]文章不當之處,請ExcelVBA高手指教為謝!轉載于一片白云博客:http://blog.163.com/ycy_sdfc/ 問:在Excel中設置第幾頁共幾頁,絕大部分人會想道用“頁面設置”,但你是否想過將“第N頁/總M頁”放到任意單元格中?而不僅僅是置于頁眉頁腳中? 答:實現(xiàn)方法一般有兩種:使用VBA和使用宏表函數(shù)方法一,用VBAPublicFunctionPage(xAsRange,zAsByte)'特別注意:當Z參數(shù)是0時,統(tǒng)計指定單元格所在頁的頁碼(是以列分頁符的值是
2、1為前提條件的)'由自定義函數(shù)的Z參數(shù)來確定是進行工作表選定單元格所在頁數(shù)'或是工作表總頁數(shù)計算'當Z參數(shù)是0時,統(tǒng)計指定單元格所在頁的頁碼'當Z參數(shù)是1至255任一個數(shù)值時,統(tǒng)計工作表總頁數(shù)Ifz=0Thenih=0ForEachyhInActiveSheet.HPageBreaksih=ih+1Ifx.Row<=yh.Location.RowThenPage=ihExitFunctionEndIfNextyhPage=ih+1'以上8行代碼及本行代碼,最終得出指定單元格所在頁的頁碼ElsePage=(ActiveSheet.HPageBreaks.Count+1)*(A
3、ctiveSheet.VPageBreaks.Count+1)'統(tǒng)計工作表總頁數(shù)EndIfApplication.Volatile'本代碼將此自定義函數(shù)標識為易失性函數(shù),對自定義函數(shù)進行重算EndFunction舉例1:我們要A1單元格中得出“當前工作表指定的單元格(A100)所在頁數(shù)”是多少頁?=page(a100,0)舉例2:我們要A1單元格中得出“當前工作表總頁數(shù)”是多少頁?=page(a100,1)這里的公式中,單元格引用(A100)可以是任意單元格引用(公式所在單元格除外,否則會出現(xiàn)循環(huán)引用,出現(xiàn)錯誤);Z參數(shù)可以是1至255之間的任意值。方法二,用宏表函數(shù)與公式
4、1.首先:使用快捷鍵CTRL+F3打開定義名稱,再在上面輸入“縱當頁”,在下面引用位置處輸入:=IF(ISNA(MATCH(ROW(),GET.DOCUMENT(64))),1,MATCH(ROW(),GET.DOCUMENT(64))+1)2.然后再繼續(xù)添加第二個名稱:“橫當頁”,在下面引用位置處輸入:=IF(ISNA(MATCH(column(),GET.DOCUMENT(65))),1,MATCH(column(),GET.DOCUMENT(65))+1)3.再輸入“總頁”;引用位置處輸入:=GET.DOCUMENT(50)+RAND()*04.最后再定義“頁眉”,引
5、用位置:="第"&IF(橫當頁=1,縱當頁,橫當頁+縱當頁)&"頁/共"&總頁&"頁"5.在函數(shù)欄使用應用即可得到需要的頁碼★關于方法二用到的宏函數(shù)知識補充:GET.DOCUMENT(type_num,name_text)Type_num指明信息類型的數(shù)。下表列出type_num的可能值與對應結果。Type_num返回1如果工作簿中不只一張表,用文字形式以“[Book1]Sheet1”的格式返回工作表的文件名。否則,只返回工作簿的文件名。工作簿文件名不包括驅動器,目錄或窗口編號。通常最好使用GET.DOCUMENT(76)和GET.DOCUMENT(88)來返回活動工作表和
6、活動工作簿的文件名。2作為文字,包括name_text的目錄的路徑。如果工作簿name_text未被保存,返回錯誤值#N/A。3指明文件類型的數(shù)1=工作表2=圖表3=宏表4=活動的信息窗口5=保留文件6=模塊表7=對話框編輯表4如果最后一次存儲文件后表發(fā)生了變化,返回TRUE;否則,返回FALSE。5如果表為只讀,返回TRUE;否則,返回FALSE。6如果表設置了口令加以保護,返回TRUE;否則,返回FALSE。7如果表中的單元格,表中的內容或圖表中的系列被保護,返回TRUE;否則,返回FALSE。8如果工作簿窗口被保護,返回TRUE;否則,返回FALSE。下面四個type
7、_num的數(shù)值只用于圖表。Type_num返回9指示主圖表的類型的數(shù)。1=面積圖2=條形圖3=柱形圖4=折線形5=餅形6=XY(散點圖)7=三維面積圖8=三維柱形圖9=三維折線圖10=三維餅圖11=雷達圖12=三維等形圖13=三維曲面圖14=圓環(huán)圖10指示覆蓋圖表類型的數(shù),同以上主圖表的1,2,3,4,5,6,11和14。沒有覆蓋圖表的情況下返回錯誤值#N/A11主圖表系列的數(shù)12覆蓋圖表系列的數(shù)下列Type_num的值用于工作表,宏表,在適當?shù)臅r候用于圖表。Type_num返回9第一個使用行的編號。如文件是空的,