![]() |
#1
|
|||
|
|||
![]()
Hi,
I need help creating a macro which will merge particular cells within a table for multiple rows but leave the rows separate. In my table I've got 8 columns and 20 rows. In each of the 20 rows I want to merge the data in columns 2, 3 & 4. I've picked up the following macro which will merge the Cells but I need it to loop through the rest of the table. Sub MergeCellsRowByRow() ' ' MergeCellsRowByRow Macro ' ' Dim myCells As Range Dim r As Row With ActiveDocument Set myCells = .Range(Start:=.Tables(1).Cell(1, 2).Range.Start, End:=.Tables(1).Cell(1, 4).Range.End) myCells.Select End With Selection.Cells.Merge End Sub Thanks in advance |
#2
|
||||
|
||||
![]()
Hi KD999,
Try: Code:
Sub MergeData() Dim Rng As Range, TblRw As Row With ActiveDocument.Tables(1) For Each TblRw In .Rows Set Rng = TblRw.Cells(2).Range Rng.End = TblRw.Cells(4).Range.End Rng.Cells.Merge Next End With End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
|||
|
|||
![]()
Thank you. I've just tried the macro you've supplied and it works brilliantly. First time posting on one of these forums and my query was resolved first go
|
#4
|
|||
|
|||
![]()
Hi (Reopened)
This is a follow on from my previous thread. I need to create a macro which will loop through tables in word (or be able to specify which table I want to update) and then perform the row by row column merge as provided to me over the weekend. Sub MergeTableRowByRow() Dim Rng As Range, TblRw As Row With ActiveDocument.Tables(1) For Each TblRw In .Rows Set Rng = TblRw.Cells(2).Range Rng.End = TblRw.Cells(3).Range.End Rng.Cells.Merge Next End With End Sub My word document has a number of tables which each have a different numbers of columns/rows and it's only one particular table in my document that I need to run the above merge for. Update: I can hardcode the table in the ActiveDocument.Tables(x) but some users have not created the document in the same format so one users Table 9 could be another users Table 12. I will therefore need to be perform a loop through the tables until I see the one what I need on the screen and once located perform the above merge. Thanks in advance. Last edited by KD999; 02-20-2012 at 04:52 AM. Reason: Doesn't work |
#5
|
||||
|
||||
![]()
Hi KD999,
What you need, then, is a means of identifying the table in question. For example, is there always a particular cell that contains something that is unique to the table you're interested in? As it's really the same topic as before, I've merged the threads. PS: When posting code, please use the code tags. They're on the 'Go Advanced' tab at the bottom of this screen.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
viuf | PowerPoint | 13 | 02-19-2012 10:34 AM |
![]() |
tinfanide | Word VBA | 12 | 02-09-2012 12:05 AM |
![]() |
tonywatsonmail | Mail Merge | 1 | 01-31-2012 04:37 AM |
![]() |
deltaskye | Word | 5 | 01-27-2012 11:58 AM |
Count range cells eliminating merge cells | danbenedek | Excel | 0 | 06-15-2010 12:40 AM |