![]() |
copy contents of multiple cells into a new cell - Help Needed Please
Hello,
In what has turned out to be a massive project, I am reaching the final stages. However I need a macro to automate a tedius task, and was hoping that some of you out there might be able to provide one or at least part of one. I have tried to be as articulate and specific as possible in explaining what i need so here goes... For a given row y ; copy the contents of every 4th column to a concatenated string, and paste this string into the column labeled GOD (i'm using excel 2007 - because i ran out of columns in excel 2003!) of row y. The contents of each column that forms part of the string should be seperated by six spaces, i.e. " ". I need the macro to run this for every row in the worksheet. (there are about 2000 rows, and one row has 5125 columns! I look forward to your thoughts, Gary. |
copy contents of multiple cells into a new cell - Help Needed Please
Gary,
Personally, if you need 5000+ columns, your structure needs to be rewored, but... Need sometidying up, but it Friday night and off to the pub. I 'll see what I can do over the weekend: Private Sub CommandButton1_Click() Dim RowIndex As Long Dim ColumnIndex As Long Dim CelVal As String Dim TempStr As String Dim DestColumn As Long Const COLUMN_STEP As Long = 4 Const SPACER As Long = 6 With ActiveCell.CurrentRegion DestColumn = .Columns.Count + COLUMN_STEP For RowIndex = 0 To .Rows.Count - 1 With .Range("A1").Offset(RowIndex, 0) TempStr = "" ColumnIndex = COLUMN_STEP CelVal = .Offset(0, ColumnIndex).Value Do Until CelVal = "" TempStr = TempStr & CelVal & Space(SPACER) ColumnIndex = ColumnIndex + COLUMN_STEP CelVal = .Offset(0, ColumnIndex).Value Loop Debug.Print TempStr If Len(TempStr) 0 Then ActiveCell.CurrentRegion.Cells(RowIndex + 1, DestColumn).Value = Left(TempStr, Len(TempStr) - SPACER) End With Next End With End Sub Try it on a 20 x 20 selection of you data first to make sure it's giving the correct result. Exact size doesn't matter, as it works on .CurrentRegion, so selct any cell in the data and click go. NickHK groups.com... Hello, In what has turned out to be a massive project, I am reaching the final stages. However I need a macro to automate a tedius task, and was hoping that some of you out there might be able to provide one or at least part of one. I have tried to be as articulate and specific as possible in explaining what i need so here goes... For a given row y ; copy the contents of every 4th column to a concatenated string, and paste this string into the column labeled GOD (i'm using excel 2007 - because i ran out of columns in excel 2003!) of row y. The contents of each column that forms part of the string should be seperated by six spaces, i.e. " ". I need the macro to run this for every row in the worksheet. (there are about 2000 rows, and one row has 5125 columns! I look forward to your thoughts, Gary. |
All times are GMT +1. The time now is 11:28 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com