2015-06-04 60 views
-3

我正在使用許多Excel文件。第一列固定爲標題product-name。另一列名稱是price在兩列之間合併Excel單元格

我試圖合併是這兩列之間的列,每個文件都包含這兩列product-name and price

我無法寫宏運行每個Excel文件,任何人都可以表演之間不同的列數我是一個例子嗎?

+0

我的問題有什麼問題。 lol – Nandish

+1

告訴我們你的代碼:) – 0m3r

+1

@Omar - 這聽起來像是一個騎車人酒吧的保鏢會說的東西。 – Jeeped

回答

2

我假設只有第一行需要檢查。假設這些是標題。

您可以使用下面的VBA檢查列標題和合並列

我用隨機變量

之間的,你可能會發生相應的變化。

Sub test() 
    Cells(1, 1).Select 
    j = 1 
Do 
    k = Cells(1, j).Value 
    Cells(1, j).Select 
    j = j + 1 
Loop Until (k = "Product-name") 
c1 = j 
Do 
    k = Cells(1, j).Value 
    Cells(1, j).Select 
    j = j + 1 
Loop Until (k = "Price") 
c2 = j - 2 
If (c2 > c1) Then 
    Range(Columns(c1), Columns(c2)).Select 
    Selection.Merge 
End If 
End Sub 

ķ變量將存儲列值和將被比喻爲「Product-name」和「Price」。
c1就存放「Product-name
c2的下一列號將存儲的「Price」 -1的列數,在邏輯其前進通過2,從而減去與2.

現在的列數兩個標題之間都有列號。

這裏有一個小場景需要考慮,如果沒有列或者這兩列之間至少有一列,那麼直接就不能合併列。所以額外比較列值。

我希望這會回答您的查詢。代碼已經過測試並且工作正常。

+0

非常感謝奧馬爾。我感謝你的幫助:) – Nandish

+0

我認爲你的問題可以從「擱置」中刪除。Omar:感謝您編輯格式。 @Nandish:我認爲你的要求已經實現。只要確保在「產品名稱」和「價格」單元上沒有額外的空間。否則代碼將無限運行。標題的順序應該是「產品名稱」和「價格」。 – nirmalraj17

+0

謝謝Jarvis :) – Nandish