Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - [решено] Записать столбец в одну ячейку строкой

Ответить
Настройки темы
2010 - [решено] Записать столбец в одну ячейку строкой

Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Изменения
Автор: blackeangel
Дата: 03-04-2017
Помогите решить проблему.
Этот код
Код: Выделить весь код
Sub vstroky()
Ncolumn = Cells.Find(What:="№ операции", LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns).Column
Ncolumn3 = Cells.Find(What:="Код операции стал", LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns).Column
J = 2
For K = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(J, Ncolumn).Value = "5" Then
st = ""
End If
st = st & "-" & ActiveSheet.Cells(J, Ncolumn3).Value
J = J + 1
ActiveSheet.Cells(K, 9).NumberFormat = "@"
ActiveSheet.Cells(K, 9) = Mid$(st, 2)
Next
End Sub
Работает не правильно. Что то я с циклом там напутал.
В прикрепленном файле 3 листа: с исходными данными,
с тем как получается у меня и как должно быть.

Отправлено: 17:55, 05-05-2016

 

Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


a_axe, спасибо за наводку, не знал что в вб есть пошаговая отладка.
Нет, код еще не запускал. Просто читаю что написано.

Отправлено: 21:25, 06-05-2016 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


a_axe, проверил, работает и так как надо.
А не могли бы пояснить несколько моментов:
1) Or i = n зачем?
2) в упор не вижу где цикл по i0
3) For j = i0 + 1 To i - 1 почему?

Отправлено: 09:20, 07-05-2016 | #12


Динохромный


Contributor


Сообщения: 699
Благодарности: 320

Профиль | Отправить PM | Цитировать


Цитата blackeangel:
1) Or i = n зачем? »
код ищет диапазон между двумя ячейками со значением =5. В самом низу вашего диапазона цифры 5 нет, но номер последней строки заполненного диапазона хранится в переменной n. Соответственно, ситуация, когда i=n означает, что мы проверили все ячейки, и работу кода пора останавливать, несмотря что цифру 5 он не нашел (замыкающей пятерки просто-напросто нет).
Цитата blackeangel:
в упор не вижу где цикл по i0 »
Переменная i0 хранит номер строки, которая является первой в текущем обрабатываемом диапазоне. Цикла по i0 не нужно - где нашли "5", там и нашли. Задачи под такой цикл нет.
Цитата blackeangel:
3) For j = i0 + 1 To i - 1 почему? »
цель этого цикла - склеить значения всех ячеек текущего диапазона - от ячейки =5 до следующей ячейка, равной 5 или последней заполненной ячейки. Это будут строчки от №i0 до №i-1. После этого i0 станет равна i, а код начнет искать следующую пятерку.

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:35, 09-05-2016 | #13


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


a_axe, теперь понял. Все элементарно оказывается . Спасибо.

Отправлено: 20:19, 10-05-2016 | #14



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2010 - [решено] Записать столбец в одну ячейку строкой

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Можно ли поставить одну плату DDR2 и одну DDR3 Рамэн Материнские платы и память 5 01-02-2014 15:47
2003/XP/2000 - [решено] Excel 2003. Запись текстовой информации из трех ячеек в одну ячейку. Stejar Microsoft Office (Word, Excel, Outlook и т.д.) 2 15-02-2012 16:12
[решено] Записать данные из ИНИ файла в одну строчку Centrinar AutoIt 1 18-03-2011 00:34
Интерфейс - Столбец даты последнего открытия Analog Microsoft Windows 7 2 05-02-2011 14:12
C/C++ - Как сделать недоступной одну ячейку в DbGrid/DbGridEh? FunTime Программирование и базы данных 0 21-05-2010 18:20




 
Переход