2012-08-30 22 views

回答

0

保留一個單元格,您可以在其中記錄上次寫入數據的列。然後,在您存儲數據之前,請先添加一個值,這就是可用的列。

1

使用CurrentRegion屬性獲取上次使用的列的索引,然後向其添加一個。我的Excel互操作C#是有點弱,所以在這裏它是在VBA,來說明對象模型:

Function FirstFreeColumn(w As Worksheet) As Long 
    Dim r As Range 
    Set r = w.Cells(1,1).CurrentRegion 
    FirstFreeColumn = r.Columns(r.Columns.Count).Column + 1 
End Function 

這是在C#中,但沒有保證,這是完全正確的:

int FirstFreeColumn(Worksheet w) 
{ 
    var range = w.Cells[1, 1].CurrentRegion; 
    var lastColumnIndex = range.Columns[range.Columns.Count].Column; 
    return lastColumnIndex + 1; 
} 
+0

我之前嘗試過,當我只有3次使用時,我總是得到68的數字。 –

+0

@ruimartins Aha,那是因爲某些時候某個值在第67列中的某處。當刪除數據時UsedRange不會自動收縮。改爲使用'CurrentRegion'屬性;我編輯了答案。 – phoog

相關問題