簡體   English   中英

無法獲得Excel工作表的范圍

[英]Not able to get range of excel worksheet

我目前正在嘗試從工作簿中提取某些數據以放入另一個工作簿中。 我已經打開工作簿使用

Application.GetOpenFile    

,然后將其分配給工作簿。 然后,我將工作表分配給該工作簿中的活動工作表。

我的問題來自嘗試獲取工作表的范圍。 我正在使用字符串數組(例如

    columnLetter(0) = "A"
    columnLetter(1) = "B"

依此類推,以嘗試檢查所有列中是否包含某些字符串(在if語句中列出了很多“ Or”。這些字符串的具體位置因文件而異,所以我的計划是搜索第一行,然后第二行,依此類推,直到找到其中一個字符串為止。

    lastRow = brokerSheet.Range(columnLetter(i) & Rows.Count).End(xlUp).Row

以明確獲取該列中的行數。 但是,當我運行程序時,出現錯誤

    Method 'Range' of object '_Worksheet' failed

在那條線上。 我猜是因為我要使用

     columnLetter(i)

,為它分配了A到R,而不是“ A”或類似的列名。 但是,我嘗試使用1、2、3等來表示第一列,第二列,第三列...但是那沒用。 該工作表只有大約90行(盡管一旦我開始工作,其中一些行將超過400行)。 還有另一種方法嗎? 我可以為所有這些寫出“ A”,“ B”,“ C”等,但是必須有一種更好的方法來指定要檢查的列。

為什么不嘗試創建字符串對象strRange並將其注入Range()

strRange = columnLetter(i) & CStr(Rows.Count)
lastRow = brokerSheet.Range(strRange).End(xlUp).Row

這應該工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM