Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: VBA и Excel: добавление строк Добавлено: 27.10.09 19:16  

Автор вопроса:  Radonch
Здравствуйте ВСЕМ! Обращаюсь к профессионалам и людям, хорошо разбирающиеся в VBA, ПОМОГИТЕ пожалуйсто:
http://files.mail.ru/CY778S
Я в вба не разбираюсь, поэтому прошу у Вас помощи...

Ответить

  Ответы Всего ответов: 14  

Номер ответа: 1
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #1 Добавлено: 28.10.09 15:09
ООП в помощь. Это довольно долго делать если по уму нужно.

Ответить

Номер ответа: 2
Автор ответа:
 hip



Вопросов: 3
Ответов: 22
 Профиль | | #2 Добавлено: 31.10.09 19:59
Не нашел файл по твоей ссылке. Выложи еще раз, может придумаю что.

Ответить

Номер ответа: 3
Автор ответа:
 Radonch



Вопросов: 1
Ответов: 6
 Профиль | | #3 Добавлено: 31.10.09 20:41
Мне бы теперь хотя бы с суммированием... я имел в виду так:
1) вызываем форму
2) набираем в ТекстБоксе название шабки столбца, например, "ИТОГ"
3) выбираем с помощью РэфЭдит или Текст бокс(это не важно через что, лишь бы можно было диапазон выбрать) диапазон, например, $B$5:$D$5
4) и выбираем с выпадающим списком например "Суммировать"
5) нажимаем кнопку добавить.
6) в таблицу добавляется столбцев перед стобцом "№ Листа", где шабка столбца "ИТОГ" а в ячейках(строках) столбца результат суммирования значений в диапазонах $B$5:$D$5

вот и всё, вроде бы понятно всё расписал!
если поможите, буду очень признателен!

http://files.mail.ru/2JV259

Ответить

Номер ответа: 4
Автор ответа:
 Radonch



Вопросов: 1
Ответов: 6
 Профиль | | #4 Добавлено: 31.10.09 20:43
$B$5:$D$5 - это для пятой строки
а для, напрмер, шестой $B$6:$D$6
а для, например второй $B$2:$D$2
и так далее по такой лоигке

Ответить

Номер ответа: 5
Автор ответа:
 hip



Вопросов: 3
Ответов: 22
 Профиль | | #5 Добавлено: 31.10.09 21:05
Программа должна работать только в этой книге, правильно я понимаю? Или должна быть универсальной?

Ответить

Номер ответа: 6
Автор ответа:
 hip



Вопросов: 3
Ответов: 22
 Профиль | | #6 Добавлено: 31.10.09 21:24
Спрашиваю вот почему. Если не писать программу, альтернатива такова:
1.Вставляем столбец перед столбцем "№ Листа" (при этом Excel автоматически копирует форматы ячеек).
2.Забиваем заголовок столбца сразу в ячейку.
3.Забиваем формулу в первую ячейку списка (при этом точно также как и с RefEdit прийдется мышью указать диапазон).
4.Переносим формулу в остальные ячейки либо автозаполнением, либо командой Специальная вставка>формулы.
Займет это ровно столько же времени сколько задание тех же значений в диалоге, а то и меньше. То есть автоматизировать нечего по сути.
Если только я все правильно понял в задаче.

Ответить

Номер ответа: 7
Автор ответа:
 Radonch



Вопросов: 1
Ответов: 6
 Профиль | | #7 Добавлено: 31.10.09 21:52
да только в этой книге и в этом же листе!
вроде бы вы правильно поняли...
да так!

Ответить

Номер ответа: 8
Автор ответа:
 Radonch



Вопросов: 1
Ответов: 6
 Профиль | | #8 Добавлено: 31.10.09 21:53
просто всё это нужно через форму(приложение)

Ответить

Номер ответа: 9
Автор ответа:
 Radonch



Вопросов: 1
Ответов: 6
 Профиль | | #9 Добавлено: 31.10.09 21:54
1. находим таблицы на листе (они могут располагаться где угодно)
2. перед столбцом "№ Листа" вставляем дополнительный столбец
3. название столбца берем с формы
4. допустим было отмечено $B$5:$D$5, теперь по каждой строке обеих таблиц суммируем значения в ячейках столбцов В,С,Д записываем в новый столбец в своей строке.

Ответить

Номер ответа: 10
Автор ответа:
 hip



Вопросов: 3
Ответов: 22
 Профиль | | #10 Добавлено: 31.10.09 22:41
То есть одинаковые таблицы с одинаковыми шапками разбросаны по всему листу и нужно добавить столбец в каждую из них? В таком случае данные проще собрать в одну таблицу, просто добавить столбцы, в которых проставить нужные метки. После этого включить фильтр и получать те же самые куски таблиц с его помощью. С такой таблицей будет работать гораздо проще.

Ответить

Номер ответа: 11
Автор ответа:
 hip



Вопросов: 3
Ответов: 22
 Профиль | | #11 Добавлено: 31.10.09 23:27
Конечно компьютером можно и гвозди забивать, но предназначен он совсем не для этого. Также и с VBA. В твоем примере он не нужен. Я гарантирую это.

Ответить

Номер ответа: 12
Автор ответа:
 Radonch



Вопросов: 1
Ответов: 6
 Профиль | | #12 Добавлено: 31.10.09 23:32
У меня есть две таблицы, строго одна под другой, но местоположение этих таблиц неизвестно, могут быть и сбоку или далеко внизу листа, вобщем хоть где на листе, но строго друг под другом и количество столбцов и строк тоже неизвестно, то есть могут уменьшаться или увеличиваться в количестве.
мне нужно нажимать на кнопку и вызывать форму, в котором в ТекстБоксе я вводил бы название шабки(чтобы добавлялось в обеих таблицах название шапки), Выпадающим списком мы выбираем формулу либо =СУММ(), либо =МИНУС(), потом с помощью РефЭдит диапазон суммирования или вычитания, где диапазон мы выбираем по любой строке любого из таблиц и нажимаем "Добавить"
в итоге добавляется столбец перед столбцом "№ листа", где по всему столбцу проделывается суммирование или вычитание по указанному диапазону, но по своей строке, причём в той строке где нет цифр или вообще пусто, он не должен выводить цифру 0, а просто должно быть пусто.

Ответить

Номер ответа: 13
Автор ответа:
 hip



Вопросов: 3
Ответов: 22
 Профиль | | #13 Добавлено: 31.10.09 23:58
По прежнему не вижу никакой необходимости здесь что-то писать. Не думаю, что смогу вам помочь, извините. Умываю руки.

Ответить

Номер ответа: 14
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #14 Добавлено: 03.11.09 13:05
По каким критериям определять границы таблиц?
Какое должно быть поведение у макроса если пользователь введёт например Лист1!$D$10;Лист1!$E$10;Лист1!$G$10 или подобную фигню: lllllhjkhjkhj ? Можно например выдать сообщение пользователю чтобы ввёл нормальный диапазон.
 Слово шапка пишется шаПка, а не шаБка. Нужна ли проверка на её совпадение с к-либо шапкой уже существующих столбцов?

Ps: это намного проще чем в начале темы.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам