Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2012, 22:46   #1
Rust_12
Пользователь
 
Регистрация: 10.12.2011
Сообщений: 25
Радость Объединение содержимого ячеек столбца в одно значение))

Доброго времени суток!
Подскажите, пожалуйста, почему меня не слушается счетчик
При объединении всех значений строк(ячеек), стоящих в столбце A в одну строку и занесении этого значения во 2 столбец(B), макрос объединяет 1 строку столбца А и последнюю строку этого столбца.

Я сделала вот так:

Код:
Private Sub CommandButton1_Click()
r_end = Range(Cells(1, 1).Address).CurrentRegion.Rows.Count
For i = 2 To r_end
Cells(1, 2) = Cells(1, 1).Value & Cells(i, 1).Value
Next
End Sub
Пичему счетчик по всему столбцу не проходит?

Файл приложила
Вложения
Тип файла: zip Concatination.zip (15.6 Кб, 12 просмотров)
Rust_12 вне форума Ответить с цитированием
Старый 20.03.2012, 23:42   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Ну так вполне правильно объединяет первую и последнюю ячейку) А чтобы объединяло все надо сделать так:
Код:
Private Sub CommandButton1_Click()
row_end = Range(Cells(1, 1).Address).CurrentRegion.Rows.Count
Cells(1, 2) = Cells(1, 1).Value
For i = 2 To row_end
Cells(1, 2) = Cells(1, 2).Value & Cells(i, 1).Value
Next
End Sub
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 20.03.2012, 23:49   #3
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Вариант в одну строку:
Код:
Public Sub www()
[b1] = Replace(Join(Application.Transpose(Range("a1", [a1].End(xlDown)))), " ", "")
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 21.03.2012, 00:14   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Можно сразу объединить через пустую строку:
Код:
[b1] = Join(Application.Transpose(Range("a1", [a1].End(xlDown))), "")
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 21.03.2012, 00:26   #5
Rust_12
Пользователь
 
Регистрация: 10.12.2011
Сообщений: 25
По умолчанию

Ой.
Сколько разнообразных вариантов))
Поняла, в чем ошибалась!!
Спасибо!
Rust_12 вне форума Ответить с цитированием
Старый 21.03.2012, 00:27   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Я сразу так и сделал - ошибка вылезла. Сейчас проверил - нормально. Глюк.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скопированить уникальные имена из столбца начинающиеся на одно слово NikolayG Microsoft Office Excel 2 21.02.2012 12:23
Объединение 2-х бинарных деревьев в одно qwerty6789 Общие вопросы C/C++ 1 22.02.2011 22:03
как по размеру содержимого определять ширину столбца в ListView? MrGB Microsoft Office Access 1 27.11.2010 22:12
StringGrid: выравнивание содержимого столбца по правому краю Art_ Компоненты Delphi 2 06.05.2009 17:30
пользовательский формат или объединение содержимого mr.beginner Microsoft Office Excel 3 08.07.2008 16:39