2014-02-18 97 views
0

我試圖按照給定的一組單元格式匹配。例如,我想查找電子表格標題的位置(行/列),但標題名稱可能會略有不同,從工作表到工作表。VBA/Excel正則表達式與數組或單元格

我認爲將單元格的範圍存儲在一個數組中,並使用從那裏的正則表達式,但我不知道如何做到這一點。

我嘗試使用匹配/查找功能,但我想搜索匹配確切模式的東西,不一定是確切的字符串或接近它的東西。

什麼樣的標題可以是一個例子是這樣的:

商店名稱|存儲號碼|項目名稱|商品編號

商店#存儲| Item#|項目

目前我只是半硬編碼完成它,但我正在尋找一個很好的方式來做到這一點很容易重複使用。

編輯:

爲了澄清這不是我遇到,它的搜索一組單體電池對於給定的正則表達式的困難正則表達式本身。目前,我將一系列單元格轉換爲多維數組,並遍歷數組以查找正則表達式。我的問題是,首先要捕獲數據陣列可能很困難(我並不總是知道標題的起始位置,標題的順序可能不同,並且電子表格中的任何位置都可能有空格)。

+0

看到你的'半硬編碼'版本可能會有所幫助。 – pnuts

回答

0

不會回答Vb如何做到這一點,導致不知道Vb。
但是,使用你的例子一般的正則表達式可能是沿着這些線的東西。

# (?i)^\s*(Store|Item)(?:\s+(Name|Number|\#|))?\s*$ 

(?i)       # Case insensitive 
^        # Beginning of string 
\s*       # optional whitespace 
(Store | Item)    # (1), Capture Store or Item (add more) 
(?:       # Non-capture grp start 
     \s+       # 1 or more whitespace 
     (Name | Number | \# |)  # (2), Capture Name or Number or hashtag or nothing 
            #  (add more) 
)?       # Non-capture grp end, do 0 or 1 time 
\s*       # optional whitespace 
$        # End of string