Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Объединяем столбцы в один. Код макроса работает, но как? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объединяем столбцы в один. Код макроса работает, но как? (Формулы/Formulas)
Объединяем столбцы в один. Код макроса работает, но как?
enginero Дата: Пятница, 07.04.2017, 23:35 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Привет, дорогой коллективный разум,
В первую очередь спасибо всем пользователям за тонны всевозможной информации и полезных советов. Очень помогает.

Моя задача состоит в том чтобы пренести информацию из нескольких столбцов друг под друга в один столбец. Все просто, пример:

Было два столбца, три строки
1 4
2 5
3

Стало 1 столбец, информация из второго перенесена под первый
1
2
3
4
5

Был бы третий стобец, он бы встал под второй и т.д.

С помощью гугла, книг и такой-то матери я состряпал этот код, который работает (!), но мне важно понять, как именно он работает. Взгляните:

Sub DrugPodDrugom()
Dim stroka As Integer, stolbez As Integer ----------обозначили переменные, тут все понятно
Dim wsheet As Worksheet-------------- обозначили переменную рабочая таблица, в которой будет работать сей богоугодный скрипт

Set wsheet = ActiveSheet ----------- активная таблица= рабочая таблица или типа того

For stolbez = 1 To 2 ------------------ петля счета стобцов, нужно ввести точное количество для каждого случая
For stroka = 1 To 3--------------------- то же самое для строк
wsheet.Cells((stolbez - 1) * 3 + stroka , 1).Value = wsheet.Cells(stroka, stolbez).Value -----------как описать то что тут происходит??
Next stroka
Next stolbez
End Sub

Думаю вы уже поняли что к чему, помогите осмыслить накоденное.
Спасибо.


-----------------
;)


Сообщение отредактировал enginero - Суббота, 08.04.2017, 12:19
 
Ответить
СообщениеПривет, дорогой коллективный разум,
В первую очередь спасибо всем пользователям за тонны всевозможной информации и полезных советов. Очень помогает.

Моя задача состоит в том чтобы пренести информацию из нескольких столбцов друг под друга в один столбец. Все просто, пример:

Было два столбца, три строки
1 4
2 5
3

Стало 1 столбец, информация из второго перенесена под первый
1
2
3
4
5

Был бы третий стобец, он бы встал под второй и т.д.

С помощью гугла, книг и такой-то матери я состряпал этот код, который работает (!), но мне важно понять, как именно он работает. Взгляните:

Sub DrugPodDrugom()
Dim stroka As Integer, stolbez As Integer ----------обозначили переменные, тут все понятно
Dim wsheet As Worksheet-------------- обозначили переменную рабочая таблица, в которой будет работать сей богоугодный скрипт

Set wsheet = ActiveSheet ----------- активная таблица= рабочая таблица или типа того

For stolbez = 1 To 2 ------------------ петля счета стобцов, нужно ввести точное количество для каждого случая
For stroka = 1 To 3--------------------- то же самое для строк
wsheet.Cells((stolbez - 1) * 3 + stroka , 1).Value = wsheet.Cells(stroka, stolbez).Value -----------как описать то что тут происходит??
Next stroka
Next stolbez
End Sub

Думаю вы уже поняли что к чему, помогите осмыслить накоденное.
Спасибо.

Автор - enginero
Дата добавления - 07.04.2017 в 23:35
Pelena Дата: Суббота, 08.04.2017, 09:05 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
enginero, оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеenginero, оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 08.04.2017 в 09:05
enginero Дата: Суббота, 08.04.2017, 12:22 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, тогда не работает выделение комментариев зеленым, ухудшается читаемость. Код не такой уж и большой. Настаиваете на # и убрать комменты? Вы - босс.


-----------------
;)


Сообщение отредактировал enginero - Суббота, 08.04.2017, 12:23
 
Ответить
СообщениеPelena, тогда не работает выделение комментариев зеленым, ухудшается читаемость. Код не такой уж и большой. Настаиваете на # и убрать комменты? Вы - босс.

Автор - enginero
Дата добавления - 08.04.2017 в 12:22
Manyasha Дата: Суббота, 08.04.2017, 13:15 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
enginero, комментарии сами станут зелеными, если перед ними стоит апостроф, как в вба:
[vba]
Код
For stroka = 1 To 3'--------------------- то же самое для строк
[/vba]
так что исправляйте код.

И еще, для вопросов о макросах есть свой раздел форума, размещайте темы в правильных разделах.
Эту тему перенесла.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеenginero, комментарии сами станут зелеными, если перед ними стоит апостроф, как в вба:
[vba]
Код
For stroka = 1 To 3'--------------------- то же самое для строк
[/vba]
так что исправляйте код.

И еще, для вопросов о макросах есть свой раздел форума, размещайте темы в правильных разделах.
Эту тему перенесла.

Автор - Manyasha
Дата добавления - 08.04.2017 в 13:15
KuklP Дата: Суббота, 08.04.2017, 13:34 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Проще:
[vba]
Код
Public Sub www()
    Dim c&
    With ActiveSheet.UsedRange
        For c = 2 To .Columns.Count
            .Columns(c).Cut Cells(.Parent.Rows.Count, 1).End(xlUp)(2, 1)
        Next
    End With
End Sub
[/vba]
Что неясно, становимся на слово и жмем F1, а уж если чего в справке не найдете, тогда сюда с вопросом.
И да, код-таки оформите тегами.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Суббота, 08.04.2017, 13:36
 
Ответить
СообщениеПроще:
[vba]
Код
Public Sub www()
    Dim c&
    With ActiveSheet.UsedRange
        For c = 2 To .Columns.Count
            .Columns(c).Cut Cells(.Parent.Rows.Count, 1).End(xlUp)(2, 1)
        Next
    End With
End Sub
[/vba]
Что неясно, становимся на слово и жмем F1, а уж если чего в справке не найдете, тогда сюда с вопросом.
И да, код-таки оформите тегами.

Автор - KuklP
Дата добавления - 08.04.2017 в 13:34
enginero Дата: Пятница, 14.04.2017, 12:57 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо, есть пища для размышлений, покопаюсь.

П.С. Первый пост уже не могу откорректировать, нет кнопки "Правка". В следующий раз буду иметь ввиду.


-----------------
;)
 
Ответить
СообщениеСпасибо, есть пища для размышлений, покопаюсь.

П.С. Первый пост уже не могу откорректировать, нет кнопки "Правка". В следующий раз буду иметь ввиду.

Автор - enginero
Дата добавления - 14.04.2017 в 12:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объединяем столбцы в один. Код макроса работает, но как? (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!