2016-04-07 86 views
-2

我的情況是一起有一個兩列的表的文檔。我正在讀取數據庫並填充每一行/列,但對於某些記錄,我想將兩列合併到一個單元格中並將其填充爲一行,然後再繼續執行兩列方案。我想發出一個VBA語句來將兩個單元合併在一起,以在整個行上創建一個單元。這是不可能「記錄」爲一個新的宏。我不知道行號在運行時是什麼,我只知道列號。我的搜索字符串是:'「Word 2013」​​VBA表合併單元格「,但我得到了很多網站,告訴你如何手動完成,而不是VBA代碼。VBA代碼合併兩個細胞

我當前的代碼:

With ActiveDocument.Tables(1) 
.Cell(Row:=1, Column:=1).merge _ 
MergeTo:=.Cell(Row:=1, Column:=2) 
.Borders.Enable = True 
End With 

在該文件中,我有一個行和兩列的一張小桌子。但是,我應該可以有一個三列的列和任何列的混合,對不對?我只想挑選任意兩列並將它們合併在一起以創建一個空間,但在運行時,我不知道要提供哪個行號。

+0

我的文檔是一個.dotm模板,它包含一行,兩列的預先存在的表格。啓動時,它從數據庫讀取。隨着記錄的讀取,一個新行被添加到表中。如果某個數據庫值出現,我想將該行的兩個單元格合併到該行的一個單元格中,並在該行中放置「標題信息」。之後,我想繼續讀取數據,下面的行再次是兩列。我希望這是可讀的。這聽起來很複雜,但我的計劃似乎很簡單。 –

+0

https://msdn.microsoft.com/en-us/library/office/ff821310.aspx –

+0

謝謝你,蒂姆·威廉姆斯,爲你的鏈接。但它不起作用。我收到一個錯誤:運行時錯誤'5941':集合的請求成員不存在。 –

回答

0

我終於得到了這個工作了,我要再次感謝你的幫助。這是我目前的代碼。整個文檔是一個兩列表,很瘦,並且包含超鏈接,以便它可以在iPhone上閱讀和導航。當數據中的單位值發生變化時,我想要1)在下面插入一個新行並將其合併到一個列中,添加一個'Go Home'鏈接,然後繼續添加兩列行。

該文件最終轉換爲.PDF和由iOS用戶訪問。

'Add a row for a 'back to home' link 
    If (intUnitOrder > intCurrentUnit) Then 
     Selection.InsertRowsBelow (1) 
     rowno = Selection.Information(wdEndOfRangeRowNumber) - 1 
     With ActiveDocument.Tables(1) 
     .Cell(Row:=rowno, Column:=1).Merge MergeTo:=.Cell(Row:=rowno, _ 
     Column:=2) 
     End With 

     Selection.Tables(1).Rows(rowno).Range.ParagraphFormat. _ 
     Alignment = wdAlignParagraphRight 
     Selection.Shading.BackgroundPatternColor = RGB(230, 230, 230) 
     Selection.Font.ColorIndex = wdBlue 
     Selection.Font.Italic = True 

     ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _ 
     Address:="#Home", SubAddress:="", _ 
     ScreenTip:="Go back to the top", _ 
     TextToDisplay:="back to Home" 

     Selection.MoveDown wdLine, 1 
     intCurrentUnit = intUnitOrder 
    End If