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

Вход

Регистрация

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

 

= Мир MS Excel/Промежуточный итог - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Промежуточный итог (Макросы/Sub)
Промежуточный итог
ant6729 Дата: Вторник, 18.04.2017, 22:08 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Всем привет!

Нужно, чтобы из таблицы один получилась таблица справа. Возможностями в панели задач Excel я и сам могу, но интересует код.
К сообщению приложен файл: 8371604.xlsx (11.7 Kb)


Сообщение отредактировал ant6729 - Среда, 19.04.2017, 04:44
 
Ответить
СообщениеВсем привет!

Нужно, чтобы из таблицы один получилась таблица справа. Возможностями в панели задач Excel я и сам могу, но интересует код.

Автор - ant6729
Дата добавления - 18.04.2017 в 22:08
Wasilich Дата: Вторник, 18.04.2017, 23:16 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003


Сообщение отредактировал _Boroda_ - Вторник, 18.04.2017, 23:49
 
Ответить
СообщениеДоступно только для пользователей

Автор - Wasilich
Дата добавления - 18.04.2017 в 23:16
_Boroda_ Дата: Вторник, 18.04.2017, 23:48 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Я почему-то думал, что написал. Но, видимо, только думал.

Это как объяснительная
"Я не был на работе потому, что думал, что был"


ant6729, переназовите тему согласно п.2 Правил форума

Ответ удалять не стал, просто скрою пока для посетителей с количеством постов, меньшим 100


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЯ почему-то думал, что написал. Но, видимо, только думал.

Это как объяснительная
"Я не был на работе потому, что думал, что был"


ant6729, переназовите тему согласно п.2 Правил форума

Ответ удалять не стал, просто скрою пока для посетителей с количеством постов, меньшим 100

Автор - _Boroda_
Дата добавления - 18.04.2017 в 23:48
ant6729 Дата: Среда, 19.04.2017, 05:34 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Спасибо, Wasilich!!

[vba]
Код
Sub www()
Dim s&, i&, n
s = 2
n = Cells(2, "C")
lr = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lr
    If Cells(i, "C") = n Then
    Cells(s, "H") = Cells(i, "A")
    Cells(s, "I") = Cells(s, "I") & Cells(i, "B") & ", "
    Cells(s, "J") = Cells(i, "C")
    Cells(s, "K") = Cells(s, "K") + Cells(i, "D")
    Cells(s, "L") = Cells(s, "L") + Cells(i, "E")
    Cells(s, "M") = Cells(s, "M") + Cells(i, "F")
    Else
    n = Cells(i, "C")
    s = s + 1
    i = i - 1
    End If
Next
Range("A:G").Delete Shift:=xlToLeft
End Sub
[/vba]

Вот Ваш (с моими вставками) код и у меня вопрос:

1. Можно ли сделать так, чтобы сразу переписывалось слева без промежуточной записи?
2. Что означает i = i - 1?
3. Как, если одно значение, запятая не ставилась, а если два, то склеивалось через запятую?
 
Ответить
СообщениеСпасибо, Wasilich!!

[vba]
Код
Sub www()
Dim s&, i&, n
s = 2
n = Cells(2, "C")
lr = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lr
    If Cells(i, "C") = n Then
    Cells(s, "H") = Cells(i, "A")
    Cells(s, "I") = Cells(s, "I") & Cells(i, "B") & ", "
    Cells(s, "J") = Cells(i, "C")
    Cells(s, "K") = Cells(s, "K") + Cells(i, "D")
    Cells(s, "L") = Cells(s, "L") + Cells(i, "E")
    Cells(s, "M") = Cells(s, "M") + Cells(i, "F")
    Else
    n = Cells(i, "C")
    s = s + 1
    i = i - 1
    End If
Next
Range("A:G").Delete Shift:=xlToLeft
End Sub
[/vba]

Вот Ваш (с моими вставками) код и у меня вопрос:

1. Можно ли сделать так, чтобы сразу переписывалось слева без промежуточной записи?
2. Что означает i = i - 1?
3. Как, если одно значение, запятая не ставилась, а если два, то склеивалось через запятую?

Автор - ant6729
Дата добавления - 19.04.2017 в 05:34
ant6729 Дата: Среда, 19.04.2017, 08:07 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
А можно ли было s = s + 1 реализовать через step? Одна и та же логика?
 
Ответить
СообщениеА можно ли было s = s + 1 реализовать через step? Одна и та же логика?

Автор - ant6729
Дата добавления - 19.04.2017 в 08:07
Pelena Дата: Среда, 19.04.2017, 08:43 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19189
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
ant6729, Вы замечание модератора видели? Почему не изменили название темы? Промежуточный итог тут совсем ни при чём.
Замечание Вам и бан на 5 часов для прочтения Правил форума.

И ответ мой могут удалить
То есть всё понимаем, но желание ответить непреодолимо?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеant6729, Вы замечание модератора видели? Почему не изменили название темы? Промежуточный итог тут совсем ни при чём.
Замечание Вам и бан на 5 часов для прочтения Правил форума.

И ответ мой могут удалить
То есть всё понимаем, но желание ответить непреодолимо?

Автор - Pelena
Дата добавления - 19.04.2017 в 08:43
_Boroda_ Дата: Среда, 19.04.2017, 09:28 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Блин, я тормоз.
просто скрою пока для посетителей с количеством постов, меньшим 100

А у нарушителя ant6729 под 2 сотни постов.

Wasilich, я сейчас зверствовать начну.
http://www.excelworld.ru/forum/12-33337-217130-16-1492460157
У меня такое ощущение, что это типа проверки - вот что модераторы делать будут? Не знаю, как остальные, а я ведь и обидеться могу на такое явное неуважение


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеБлин, я тормоз.
просто скрою пока для посетителей с количеством постов, меньшим 100

А у нарушителя ant6729 под 2 сотни постов.

Wasilich, я сейчас зверствовать начну.
http://www.excelworld.ru/forum/12-33337-217130-16-1492460157
У меня такое ощущение, что это типа проверки - вот что модераторы делать будут? Не знаю, как остальные, а я ведь и обидеться могу на такое явное неуважение

Автор - _Boroda_
Дата добавления - 19.04.2017 в 09:28
Wasilich Дата: Среда, 19.04.2017, 10:32 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
[offtop]
Wasilich, я сейчас зверствовать начну.
Из-за чего? Такое страшное нарушение? Мне показалось, что тема какая то не конкретная, и то после ответа, вот и добавил, что могут удалить. И была она не "Промежуточный итог", это уже исправлена и стала еще дальше от темы.
Ну не сообразил сходу. Простите злостника. Впредь буду, для гарантии, отвечать строго после модераторов.[/offtop]


Сообщение отредактировал Wasilich - Среда, 19.04.2017, 10:34
 
Ответить
Сообщение[offtop]
Wasilich, я сейчас зверствовать начну.
Из-за чего? Такое страшное нарушение? Мне показалось, что тема какая то не конкретная, и то после ответа, вот и добавил, что могут удалить. И была она не "Промежуточный итог", это уже исправлена и стала еще дальше от темы.
Ну не сообразил сходу. Простите злостника. Впредь буду, для гарантии, отвечать строго после модераторов.[/offtop]

Автор - Wasilich
Дата добавления - 19.04.2017 в 10:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Промежуточный итог (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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