- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2013-7-14 16:52
| 只看該作者
回復 1# 01300607 - '傳回最後有資料儲存格列號: 資料在 1欗-30欗,第1列開始到10列 超過第10列後續有資料的儲存格,所間隔的列數不可大於10列.
- Function findx(ByVal objsheet As Worksheet) As Long '函數型態 : Long (長整數)
- 'ByVal 選擇性引數。表示以傳值的方式來傳遞引數。
- 'objsheet(參數) As(型態) Worksheet(工作表物件)
- Dim x As Integer, L As Integer, k As Integer, kk As String
- x = 0
- Do 'While True : 這條件是預設,可不寫
- kk = "" '資串歸零
- For L = 1 To 10 'L: 列號 (1-10)
- For k = 1 To 30 'k: 欗號 (1-30)
- 'objsheet.Cells(x + L, k) -> objsheet.Cells( X+列號L , 欗號 )
- If IsError(objsheet.Cells(x + L, k)) = False Then '不為錯誤值:條件成立
- 'IsError 函數 傳回 Boolean 值,用來指出運算式是否為一個錯誤值。
- kk = kk & objsheet.Cells(x + L, k) '累加[不為錯誤值存格]的內容
- End If
- Next
- Next
- '跑完 objsheet.Cells(x + 1, 1) 到 objsheet.Cells(x + 10, 30) 的範圍
- If kk = "" Then Exit Do '跑完的範圍內沒有資料:離開迴圈
- x = x + 1 '紀錄有資料的次數 => 最後有資料的列號列號
- Loop
- findx = x
- End Function
複製代碼 |
|