Thread: Concatenate
View Single Post
  #13   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips Bob Phillips is offline
external usenet poster
 
Posts: 10,593
Default Concatenate

I feel like I am in a bit of a vacuum. Can you post the data that you have
that does this?

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Helpless1" wrote in message
...
Well folks,
That seemed as though it started to work (concatenated the notes as I
needed) then the screen started kind of blinking and then the program

stopped
responding.
I feel bad taking up all of your time so stop helping whenever you need

to.
Thank you so much.

"Bob Phillips" wrote:

I think Tom meant

Set rng = Range(cells(2,1),Cells(Rows.count,1).End(xlup))


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Helpless1" wrote in message
...
This revision gives syntax error message in line 3.

"Tom Ogilvy" wrote:

Here is a revision. Assumes you have a header row in row 1 and data

starts
in row2. Again, test on a copy of your data.

Sub ProcessData()
Dim rng As Range, cell As Range, s As String
Set rng = Range(cells(2,1),Row.count,1).End(xlup))
For Each cell In rng
If cell.Value < cell.Offset(1, 0).Value Then
s = s & " " & cell.Offset(0,10).Value
rng.Offset(0, 10).Value = Application.Trim(s)
If rng.Row < cell.Row Then
Range(rng.Offset(1, 0), cell).Entirerow.ClearContents
End If
Set rng = cell.Offset(1, 0)
s = ""
Else
s = s & " " & cell.Offset(0,10).Value
End If

Next
Columns(10).SpecialCells(xlBlanks).EntireRow.Delet e
End Sub

--
Regards,
Tom Ogilvy

"Helpless1" wrote:

Tom,
Thanks so much for your help! I should have mentioned before

however
that I
have other information between the customer number and note. The

customer
number is in column A and the notes are in column K. This other

information
is the contact information which appears with every row of notes.

I
need to
end up with only one row for each customer with the notes in

column K
in one
cell. I cannot tell you how much I appreciate you looking at this

for
me!

-Helpless1

"Tom Ogilvy" wrote:

Assume the customer number is in column A and the text in column

B

select the cells in column A that you want to process, then run

this
macro

Sub ProcessData()
Dim rng As Range, cell As Range, s As String
Set rng = Selection(1)
For Each cell In Selection
If cell.Value < cell.Offset(1, 0).Value Then
s = s & " " & cell.Value
rng.Offset(0, 1).Value = Application.Trim(s)
If rng.Row < cell.Row Then
Range(rng.Offset(1, 0), cell).Resize(, 2).ClearContents
End If
Set rng = cell.Offset(1, 0)
s = ""
Else
s = s & " " & cell.Value
End If

Next
Columns(2).SpecialCells(xlBlanks).EntireRow.Delete
End Sub


Test this on a copy of your data

--
Regards,
Tom Ogilvy

"Helpless1" wrote:

HELP! I am a very minimal user and have a huge annoying

project
that I keep
wondering if there is an easier way to accomplish. I am doing

conversion work
and have about 29000 lines left of customer information. When

the
info from
our old system was imported the customer notes were inserted

in a
new cell
with every line of text. My current method is to filter by

customer number
then concatenate every line of customer notes, then copy and

paste
special as
values. I then delete the other lines of text and move to the

next
customer
number. PLEASE tell me there is any easier way! Restore my

sanity!