2011-08-23 44 views
2

的內僅提取行我有以下代碼:C#練成 - 一定範圍的色譜柱

Excel.Range range = workSheet.UsedRange; 
for (rowCount = 2; rowCount <= range.Rows.Count; rowCount++) 
    { 
    //Do something here 
    } 

然而,我會遇到以下問題。如果我有以下Excel數據:

cell1, cell2, cell3 

cell4, cell5, cell6 

..............cell7 

range.Rows.Count將返回3。但是,我不關心C列 - 它有一個用於下拉列表中的發言權柱內的一些數據1.如何才能獲得range.Rows.Count僅用於列A和B?

例如: enter image description here

+0

你能後的截圖,並清楚你想要什麼來算,你想要什麼忽略? – roymustang86

回答

1

假設有A列中沒有空白,只是走行,直到你擊中使用range.Offset(x,y)一個空白行:(對不起,我更加流暢與Excel VBA,你會必須通過使用數字來Worksheet.Cells(row,col)轉換成C#)

Dim myCell as Range 
set myCell = workSheet.Range("A2"); 
Do Until myCell.Formula = "" 
    'Do something here 
    set myCell = myCell.Offset(1,0) 'Moves down a row 
Loop 

或者只是循環:

Dim myRow as Integer 
myRow = 2 
Do Until cells(myrow,2).Formula = "" 
    'Do something here 
    myRow = myRow + 1 
Loop 

編輯:您也可以使用Range("A1").End(xlDown)查找第一列的最後一個已填充的單元格。這應該適用於你目前的邏輯。喜歡的東西(我會嘗試在C#):

Excel.Range range = workSheet.Range("A1", Range("A1").End(xlDown)); 
for (rowCount = 2; rowCount <= range.Rows.Count; rowCount++) 
    { 
    //Do something here 
    }