2016-06-08 167 views
0

Excel 2013/Win7Excel VBA示波器大型文件

目標:確定大小:#行數/#cols表示excel的工作表太大。

我試着使用:

Dim sh as worksheet 
For each sh in ActiveWorkbook.Sheets 
    'These are just my preferred ways of finding the ending points. 
    LastRow = ActiveSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 
    LastCol = ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column 
    BlahBlah 'code that prints LastRow and LastCol to my userform 
Next sh 

這工作得很好,但只給了我的統計信息表< =最大的excel行數

因此與文件更改擴展名從.XLSX打.zip和去xl/Worksheets/sheet1.xml我注意到這條線:"<dimension ref="A3:C178"/>'我希望是一種方法來通過vba抓住每個工作表的方式來限制工作表的方式,但我不能找到一種方式搶這個裁判。

+0

這些工作表是如何創建的?他們實際上是非常大的CSV文件? –

+0

我不確定,我將它們作爲.xlsx文件 - 但顯然它們包含更多信息,然後它們將呈現。 – Schalton

回答

0

爲什麼不試試最後一個單元呢?
另外,爲什麼不在將.xls轉換爲.zip之前取這個值?

Dim LastRow As Long 
Dim LastColumn As Long 

LastRow = sh.Cells.SpecialCells(xlCellTypeLastCell).Row 
LastColumn = sh.Cells.SpecialCells(xlCellTypeLastCell).Column 
+0

我在轉換之前就已經把值 - 我只是好奇,如果我可以在xml中找到範圍,一旦我開始尋找一種通過vba從xml中提取範圍的方法。 – Schalton

+0

我會試試你的方式 - 有一百萬種方法來剝皮這隻貓,我只是喜歡我使用的方法。 如果你的方法會計算截斷的行數,那麼這太棒了 - 但是看到「xlCellTypeLastCell」我會下注,它會返回我的同樣的東西 - excel限制。 – Schalton

+0

要從xml中獲取它,請嘗試在工作簿中打開它,然後查找文本維度ref =「並執行左鍵並右鍵獲取」「 – Sgdva