是UsedRange還是specialcells(xlcell...)用錯了?
来源:互联网 发布:微信交友网站源码 编辑:程序博客网 时间:2024/05/29 08:22
是UsedRange還是specialcells(xlcell...)用錯了?
« 於: 2006-03-28, 00:24:40 »
花了我5個小時,還是找不出問題,
求教各位高手:
sub ......
dim SampleRequestFile as Workbook
Dim ModelName As String
Dim SerialNumber As String
Dim destination As Range
Dim CountNum As Integer
CountNum = 0
…
ModelName = SampleRequestFile.Worksheets("sample request").Range("g8") '以 機種名稱 為搜尋項目
SerialNumber = SampleRequestFile.Worksheets("sample request").Range("bb8") '以 需求單號 為搜尋項目
'打開資料庫 D:/VBA test/sample list.xls
Workbooks.Open filename:="D:/VBA test/sample list.xls" ''''''''''''''''''''''''''''''''確認資料庫已存在
'開始搜尋
'''''''''''''''''''''''''''''''''''''''''''''''''''''
If Not (Workbooks("sample list.xls").Worksheets("sample list1").UsedRange.Find(SerialNumber, LookIn:=xlValues) _
Is Nothing) Then '''檢查是否曾登錄過這需求單
MsgBox "這需求單已登錄過,退出程序。"
Exit Sub
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set destination = Workbooks("sample list.xls").Worksheets("sample list1").UsedRange _
.Find(ModelName, LookIn:=xlValues) '''''''''找出該機種名稱的位置
If destination Is Nothing Then ''若找不到機種名稱,再開一行新資料
Workbooks("sample list.xls").Worksheets("sample list1").Cells.Rows(2).Select
Cells(1, 1) = Selection.Rows.SpecialCells(xlCellTypeLastCell).Value
…
在測試 destination Is Nothing時, 就出錯。
最後兩句看起來很笨拙,是因為我試了很多句型,想要要把第二列的最後一個儲存格的值傳回,但傳回來的都是UsedRange的最後一格。就算是把Rows(2)改成Rows(3) 或Columns(4)等等,都是傳回UsedRange的最後一格,這是怎麼回事?
« 於: 2006-03-28, 00:24:40 »
花了我5個小時,還是找不出問題,
求教各位高手:
sub ......
dim SampleRequestFile as Workbook
Dim ModelName As String
Dim SerialNumber As String
Dim destination As Range
Dim CountNum As Integer
CountNum = 0
…
ModelName = SampleRequestFile.Worksheets("sample request").Range("g8") '以 機種名稱 為搜尋項目
SerialNumber = SampleRequestFile.Worksheets("sample request").Range("bb8") '以 需求單號 為搜尋項目
'打開資料庫 D:/VBA test/sample list.xls
Workbooks.Open filename:="D:/VBA test/sample list.xls" ''''''''''''''''''''''''''''''''確認資料庫已存在
'開始搜尋
'''''''''''''''''''''''''''''''''''''''''''''''''''''
If Not (Workbooks("sample list.xls").Worksheets("sample list1").UsedRange.Find(SerialNumber, LookIn:=xlValues) _
Is Nothing) Then '''檢查是否曾登錄過這需求單
MsgBox "這需求單已登錄過,退出程序。"
Exit Sub
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set destination = Workbooks("sample list.xls").Worksheets("sample list1").UsedRange _
.Find(ModelName, LookIn:=xlValues) '''''''''找出該機種名稱的位置
If destination Is Nothing Then ''若找不到機種名稱,再開一行新資料
Workbooks("sample list.xls").Worksheets("sample list1").Cells.Rows(2).Select
Cells(1, 1) = Selection.Rows.SpecialCells(xlCellTypeLastCell).Value
…
在測試 destination Is Nothing時, 就出錯。
最後兩句看起來很笨拙,是因為我試了很多句型,想要要把第二列的最後一個儲存格的值傳回,但傳回來的都是UsedRange的最後一格。就算是把Rows(2)改成Rows(3) 或Columns(4)等等,都是傳回UsedRange的最後一格,這是怎麼回事?
傳回最右邊儲存格值可試試:
Cells(1, 1) = Selection.Rows.End(xlToRight).Value
嗯,這方法可以了,但我還是想知道之前是出了什麼問題?
出了什麼問題嗎?SpecialCells(xlCellTypeLastCell)是已用範圍的最後一個儲存格,它對整個工作表,指定範圍改變不了它的工作。
- 是UsedRange還是specialcells(xlcell...)用錯了?
- 不能忘记UsedRange了!
- UsedRange
- 最后我還是失去了你
- 是时候用PerconaDB替换MySQL了
- 已经是12.5了```
- 终于是男人了!!
- 前面是曙光了
- 是应该干活了
- 又是星期六了
- 今天是端午节了!
- 疯了,是常态。
- 又是一年了
- 又是一年了
- 是时候这样了
- 这是怎么了
- 这是怎么了?
- 百度是怎么了
- 身份证判断性别和生日-javascript
- 使用Web服务
- Render Control to HTML String. VerifyRenderingInServerForm Method
- SQL简单验证身份证号码位数、出生日期、性别(转)
- 继续目录操作
- 是UsedRange還是specialcells(xlcell...)用錯了?
- Action中传参的好方法
- 女生选择程序员职业必看
- 创建Web服务
- AJAX学习必备三本书
- ORACLE函数介绍第一篇 著名函数之单值函数
- ORACLE函数介绍第二篇 非著名函数之单值函数
- 不一样的“能ping通不能上网”解决方法
- oracle的性能优化[1]