Предыдущая тема :: Следующая тема
|
Автор |
Сообщение |
cyoshi Prizivnik - draftee

Зарегистрирован: 31.05.2008 Сообщения: 3
|
Добавлено: Сб Май 31, 2008 9:00 am Заголовок сообщения: Макрос Excel |
|
|
вопрос по макросом VBA
как текст из нескольких ячеек объеденить в одну
объясняю:
1с формироует базу клиентов
Фамилия
-купил тото
-купил тото
-купил тото
-купил тото
(пустая строка)
Фамилия
-купил тото
-купил тото
-купил тото
-купил тото
(пустая строка)
и тд.
я хочу чтобы мой макрос, все то что купил покупатель объяденил в одну строку и скопировал в яейку рядом с фамилией покупателя.
это возможно?
Умные люди помогите плз!!! |
|
Вернуться к началу |
|
 |
AsIs captain


Зарегистрирован: 27.01.2006 Сообщения: 250 Откуда: СПб
|
Добавлено: Сб Май 31, 2008 2:08 pm Заголовок сообщения: |
|
|
Да легко...
Код: | Sub Merge()
Dim c As Range, c1 As Range
Dim worker As String, goods As String
Dim Flag As Boolean
For Each c In Selection
If Flag Then
If c.Value = "" Then
c1.Value = worker & ": " & goods
Flag = False
Else
goods = goods & c.Value & " "
End If
Else
worker = c.Value
Set c1 = c.Offset(0, 1)
Flag = True
End If
Next
c1.Value = worker & ": " & goods
End Sub
| [/code] |
|
Вернуться к началу |
|
 |
AsIs captain


Зарегистрирован: 27.01.2006 Сообщения: 250 Откуда: СПб
|
Добавлено: Сб Май 31, 2008 2:09 pm Заголовок сообщения: |
|
|
Да, забыл сказать - перед запуском макроса нужно выделить ячейки от первой фамилии до последней ячейки с товаром. |
|
Вернуться к началу |
|
 |
cyoshi Prizivnik - draftee

Зарегистрирован: 31.05.2008 Сообщения: 3
|
Добавлено: Сб Май 31, 2008 3:19 pm Заголовок сообщения: |
|
|
спасибо классно только
получается так
покупатель 1
чтото 1
покупатель 2
чтото 1+ чтото2
нельзя чтоб у каждого был только свой товар?
получается каждый последующий покупатель плюсует покупки предыдущего |
|
Вернуться к началу |
|
 |
AsIs captain


Зарегистрирован: 27.01.2006 Сообщения: 250 Откуда: СПб
|
Добавлено: Пн Июн 02, 2008 11:17 am Заголовок сообщения: |
|
|
ДА, ошибочка.
Вставьте сразу после вот этой строки:
worker = c.Value
строчку
goods="" |
|
Вернуться к началу |
|
 |
cyoshi Prizivnik - draftee

Зарегистрирован: 31.05.2008 Сообщения: 3
|
Добавлено: Вт Июн 03, 2008 5:48 am Заголовок сообщения: |
|
|
класс все работает теперь!!!
спасибо!
и еще вопросик
нельзя ли чтобы те строки которые он скопировал и вставил в одну ячейку он удалил? чтобы было так
покупатель 1| чтото 1
покупатель 2| чтото 2
покупатель 3| чтото 3
без пустых строк ) |
|
Вернуться к началу |
|
 |
user-jiva Prizivnik - draftee

Зарегистрирован: 07.06.2008 Сообщения: 2
|
Добавлено: Сб Июн 07, 2008 8:50 pm Заголовок сообщения: |
|
|
Еще вопрос по поводу макроса. Что надо сделать что-бы В конце каждого названия товара убирались пробелы. Просто когда начинаю сводить два отчета, то из-за того что в одном отчете в конце стоят пробелы, естественно ничего не получается. Попытался сделать макрос для этого дела, но пробелы упорно не удаляются. Может надо его как хитро писать? |
|
Вернуться к началу |
|
 |
AsIs captain


Зарегистрирован: 27.01.2006 Сообщения: 250 Откуда: СПб
|
Добавлено: Пн Июн 09, 2008 9:36 am Заголовок сообщения: |
|
|
user-jiva писал(а): | Еще вопрос по поводу макроса. Что надо сделать что-бы В конце каждого названия товара убирались пробелы. Просто когда начинаю сводить два отчета, то из-за того что в одном отчете в конце стоят пробелы, естественно ничего не получается. Попытался сделать макрос для этого дела, но пробелы упорно не удаляются. Может надо его как хитро писать? |
Если Вы уже с макросами работали, то эта подсказка ВАм поможет:
Убрать справа пробелы в строке s:
s = RTRIM(s) |
|
Вернуться к началу |
|
 |
user-jiva Prizivnik - draftee

Зарегистрирован: 07.06.2008 Сообщения: 2
|
Добавлено: Пн Июн 16, 2008 7:56 pm Заголовок сообщения: |
|
|
Спасибо за ответ. Я только начал с этим делом зазбираться. Поэтому в этом деле полный чайник или даже пустой . Могу делать элементарные вещи, типа выделить жирным шрифтом, цвет поменять ну и т.д. Не понял как эту формулу вставлять. |
|
Вернуться к началу |
|
 |
|