Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сделать кнопку для копирования ячеек в Excel / 9 сообщений из 9, страница 1 из 1
13.11.2015, 19:51
    #39103234
Андрей_707
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать кнопку для копирования ячеек в Excel
Помогите, правильно сделать кнопки для копирования ячеек.
Есть файл, каталог каких-то изделий и их описание, на против каждой строки каталога есть кнопка "включить в заказ". Хочу сделать чтобы первые 3-и ячейки, при нажатии кнопки копировались на вторую страницу.
-Мне непонятно как сделать так, вставка строк проходила в новую строчку ниже предыдущей, не зависимо где в данный момент находиться курсор.
-И еще вопрос, для каждой кнопки должна быть своя функция? Или можно сделать одну функцию для всех конопок?
...
Рейтинг: 0 / 0
13.11.2015, 21:11
    #39103262
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать кнопку для копирования ячеек в Excel
Андрей_707для каждой кнопки должна быть своя функция?Правильнее сделать одну кнопку, которая будет переносить данные из строки с активной ячейкой. Или вообще без кнопки - выполнять действие по двойному клику в определенном столбце.
Для кнопки в нынешнем виде макрос
Код: vbnet
1.
2.
3.
4.
Sub Copy3cells()
  Cells(ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row, 1).Resize(, 3).Copy _
    Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Offset(1)
End Sub

Можете назначить его на все кнопки, или назначить его на одну кнопку, потом скопировать-вставить кнопку в другие строки.
...
Рейтинг: 0 / 0
13.11.2015, 21:12
    #39103263
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать кнопку для копирования ячеек в Excel
Вместо "Лист2" - название листа, куда переносить - вероятно, "Заказ".
...
Рейтинг: 0 / 0
14.11.2015, 18:48
    #39103588
Андрей_707
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать кнопку для копирования ячеек в Excel
Казанский, спасибо, работает.
Но если я в ячейку пишу формулу, то копируется эта формула, можно ли копировать только значение?

И возможен такой вариант, были скопированы и вставлены 3-и ячейки, можно ли добавить 4-ю ячейку с формулой. Т.е на листе заказа, в ячейке А1 указан курс доллара, и в 4-ю ячейку подставляется ф-ла "=C2*$A$1"?
...
Рейтинг: 0 / 0
14.11.2015, 22:42
    #39103655
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать кнопку для копирования ячеек в Excel
Андрей_707,
Код: vbnet
1.
2.
3.
4.
5.
6.
Sub Copy3cells()
  With Sheets("Заказ").Cells(Rows.Count, 1).End(xlUp).Offset(1)
    .Resize(, 3).Value = Cells(ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row, 1).Resize(, 3).Value
    .Offset(, 3).FormulaR1C1 = "=RC[-1]*R1C1"
  End With
End Sub
...
Рейтинг: 0 / 0
15.11.2015, 11:37
    #39103736
Андрей_707
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать кнопку для копирования ячеек в Excel
Казанский, спасибо за помощь, не хочу сильно надоедать, но помогите еще немного переделать код.
-Можно ли копировать не по строкам, а по ячейкам. Т.е при нажатии кнопки, создается 4-и переменных, для этих ячеек (первые 2-е копируют значение первых ячейки, 3-я формулу в 3-ей ячейке, 4-ая для вставки формулы). Это нужно для того чтобы на лист Заказа можно было вставить их не одна за другой, а а при вставке можно было менять местами, или оставлять между ними пустые ячейки.

-И еще хочу сделать и возможность ввода через форму. Т.е я создал именованый диапазон "каталог" вписал его в ListBox1 в графе RowSourse. Только кнопки почему то не отобразились на нем. Подскажите как теперь сделать правильно копирование. Можно или при нажатии на сторку, вызывать метод ListBox1_Change(), но там код должен быть немного другим. Или как лучше сделать?
...
Рейтинг: 0 / 0
15.11.2015, 19:56
    #39103930
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать кнопку для копирования ячеек в Excel
Андрей_707Это нужно для того чтобы на лист Заказа можно было вставить их не одна за другой, а а при вставке можно было менять местами, или оставлять между ними пустые ячейки.Да, это более естественно делать с помощью листбокса (неважно, на форме или на листе). Но лучше не использовать RowSource, а "загрузить" значения в листбокс при запуске формы (или по другому событию):
Код: vbnet
1.
2.
3.
Private Sub UserForm_Initialize()
  ListBox1.List = Range("каталог").Value
End Sub

Установите для листбокса свойство MultiSelect=1 или 2, чтобы иметь возможность выбирать несколько строк. Можете установить ListStyle=1. Добавьте на форму кнопки для перемещения выделенной строки вверх и вниз, для вставки пустой строки. Вам потребуются свойства листбокса .Selected, .ListIndex.
...
Рейтинг: 0 / 0
15.11.2015, 20:54
    #39103952
Андрей_707
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать кнопку для копирования ячеек в Excel
Казанский, я знаком с VBA поверхностно, подскажите как правильно написать код, пример файла вкладываю. В общем в ListBox выбираю необходимый товар, при необходимости могу поменять его размеры, ставлю нужное количество, и нажимаю "включить в заказ". Пример результата на странице "Заказ". Заранее спасибо.
...
Рейтинг: 0 / 0
04.12.2015, 18:08
    #39120940
vansufirst
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сделать кнопку для копирования ячеек в Excel
Казанский, помоги плиз! У меня таблица:

В наличии Остаток К заказу

250 200 50

_______
Поясню. Когда вбиваешь в графу "К заказу" число, то в остатке автоматически остаётся 250-50=200

Вопрос, какую формулу мне нужно вбить в кнопку, чтобы "Остаток" автоматически копировался в столбец "В наличии"?

Спасибо)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сделать кнопку для копирования ячеек в Excel / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]