Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
7 / 7 / 0
Регистрация: 16.08.2011
Сообщений: 52

Запись столбца в строчку

05.09.2011, 02:59. Показов 3765. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуста, кто знает как сделать что бы из солбца А,
все строки в которых есть текст, записывались в строчку.
Для записи в строчку напримет можно использовать TextBox
желательно чтобы каждая строка столбца отделялась от другой запятой.
Кто знает может написать пример или хотя бы набросок.
Спасибо всем за ответы !!!
Можите предлагать свои варианты.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.09.2011, 02:59
Ответы с готовыми решениями:

Из столбца получить строчку
Подскажите пожайлуста, как преобразовать колонку, полученную в результатае запроса, в строчку через разделитель. Можно ли это сделать самим...

Скалярное произведение второго столбца матрицы на i-ую строчку
1){{a}_{i}}_{j}=(\mid j-5\mid-1.5){(4.5-i)}^{\frac{j}{i}} 2){x}_{i} -скалярное произведение второго столбца на i -ую строчку ...

Запись чисел в файл в СТРОЧКУ!
Как записать числа в файл, в строчку, а не в столбик, при этом записав столько значений, сколько нужно. Допустим, по ходу выполнения...

15
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 7
05.09.2011, 13:26
Visual Basic
1
2
3
4
i=1
do until cells(i,1)=''
text1.text=cells (i,1)+ chr(44)+text1.text
loop
0
4 / 4 / 2
Регистрация: 06.03.2011
Сообщений: 151
05.09.2011, 13:36
text1.text = text1.text & ', ' & cells (i,1)
По-моему и понятнее и (главное) результат читать будет приятнее ;Ь
0
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 7
05.09.2011, 13:47
верно,
кстати забыл еще i=i+1
0
4 / 4 / 2
Регистрация: 06.03.2011
Сообщений: 151
05.09.2011, 13:54
Позор на мои седины! Отсутствие i = i + 1 я и не заметил.
Следует ещё заметить, что всё это будет работать до первой пустой ячейки, а из вопроса не следует, что данные занимают сплошную область.
Так может лучше старый добрый
For i = 1 To 65536
...
Next i
0
7 / 7 / 0
Регистрация: 16.08.2011
Сообщений: 52
05.09.2011, 16:36  [ТС]
ALEXANDER_ENIN спасибо за ответ, но почему то у меня сразу excel виснет
0
7 / 7 / 0
Регистрация: 16.08.2011
Сообщений: 52
05.09.2011, 16:50  [ТС]
mmos тебе тоже спасибо за ответ, твой вариат работает лучше, только почему то в строчку записываеться не весь столбец, а только первый в столбе текст. Я может неправильно обяснил сто я хочу. Попробую еще раз, есть столбец 'А', в нем следующий текст
'А'
Привет
Спасибо
!!!

Нужно например при нажатии кнопки на форме текст записывался в TextBox в таком виде :
Привет, Спасибо, !!!,
и т.д. если в столбце есть текст
Плиз, подскажите как можно сделать? Столбец лучше конкретный задать.
0
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 7
05.09.2011, 18:03
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
' если данные на всем диапазоне и имеются пустые клетки
' виснет, а ты как хотел 65536 это много
For i = 1 To 65536
If Cells(i, 1) <> '' Then Cells(1, 2) = Cells(1, 2) & Cells(i, 1) & ','
Next i
 
'нет пробелов то
 
Do Until Cells(i, 1) = ''
Cells(1, 2) = Cells(1, 2) & Cells(i, 1) & ', '
i = i + 1
Next i
0
7 / 7 / 0
Регистрация: 16.08.2011
Сообщений: 52
05.09.2011, 18:16  [ТС]
ALEXANDER_ENIN Спасибо, очень благодарен за помощь.
0
7 / 7 / 0
Регистрация: 16.08.2011
Сообщений: 52
05.09.2011, 19:34  [ТС]
ALEXANDER_ENIN я использую твой пример
For i = 1 To 65536
If Cells(i, 1) <> '' Then Cells(1, 2) = Cells(1, 2) & Cells(i, 1) & ','
Next i
Что нужно изменить в коде если я буду использовать 'авто фильтр'
что бы можно было выберать не все имеющие в столбце строки, а те которые отображаються на экране после применение авто фильтра. После применения авто фильтра строки идут
2 а
3 б
5 ж

Как изменить код проги что бы отображались только а, б, ж
Стоки
1 й
2 у
4 ы
не записывались в строчку
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
06.09.2011, 06:53
Посмотрите: http://relib.com/forums/topic.asp?id=862194
0
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 7
06.09.2011, 10:26
надо определиться по какому признаку ты фильтруешь
0
Сумрак
08.09.2011, 18:31
Есть мысль... Завтра на работе гляну код, забыл какой я обьект использовал...
Сумрак
09.09.2011, 03:50
Это прототип так сказать, без дополнительных наворотов,
с ***** работает почти мгновенно.
Получает Range, а возвращает строку в которой значения ячеек разделены запятой. Сюда можно добавить - преобразование в массив и кук угодно его обрабатывать.
Visual Basic
1
2
3
4
5
6
7
8
9
Function Строка(myR As Range) As String
If myR Is Nothing Then Exit Function
Dim myD As DataObject
    Set myD = New DataObject
    myR.Copy
    myD.GetFromClipboard
    Строка = Replace(myD.GetText, vbCrLf, ',')
    Set myD = Nothing
End Function
Сумрак
09.09.2011, 05:06
Добавил процедуру которая исключет пустые ячейки.
Весь этот код был опробован на максимальном количестве строк листа.
Можете попробовать и сравнить скорость работы макроса с обычным цыклом.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function Строка(myR As Range) As String
If myR Is Nothing Then Exit Function
Dim myD As DataObject
    Set myD = New DataObject
    myR.Copy
    myD.GetFromClipboard
    Строка = Replace(myD.GetText, vbCrLf, ',')
    Set myD = Nothing
End Function
 
Sub НужнаяСтрока()
Dim mySTR As String
Application.ScreenUpdating = False
    Columns(1).AutoFilter Field:=1, Criteria1:='<>'
    mySTR = Строка(Columns(1).Cells.SpecialCells(xlCellTypeVisible))
    Columns(1).AutoFilter
Application.ScreenUpdating = True
MsgBox Len(mySTR)
End Sub
Сумрак
09.09.2011, 06:12
Да к стати. Обрати внимание на эту строчку...
Visual Basic
1
Columns(1).AutoFilter Field:=1, Criteria1:='<>'
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.09.2011, 06:12
Помогаю со студенческими работами здесь

Как сделать запись в строчку
Не пойму как сделать запись в строку, а не в столбик. хочу чтоб выводило так 2+3=5, а не 2 +3 =5 Как мне это сделать?...

Запись на последнюю строчку файла
Здравствуйте , есть файл add.php , с таким кодом : $fp = fopen(&quot;D:\games\OBT_sav\addons.txt&quot;,&quot;a&quot;); fwrite($fp, &quot;\r\n&quot; ....

Как сделать запись в предпоследнюю строчку файла ?
Как сделать запись в предпоследнюю строчку файла ??? $filename = '../sitemap.xml'; if(file_exists($filename)==false)//Формирует...

Запись в определённую строчку и место в текстовом файле
Есть файл bat, вот примерного такого содержания: set a; set b; xcopy &quot;C:\temp\users&quot; &quot;%TARGET%&quot; /S /E xcopy &quot;C:\temp\1&quot;...

Запись массива в определенную строчку текстового файла
Здравствуйте. Имеется заполненный datadridview, например, со значениями: Солнце вышло из-за туч Чтоб рассеять нашу грусть Чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru