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!
|