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

Вход

Регистрация

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

 

= Мир MS Excel/Подстановка строк в ввод. таблицу с копир-м данных из предыд - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подстановка строк в ввод. таблицу с копир-м данных из предыд (Макросы Sub)
Подстановка строк в ввод. таблицу с копир-м данных из предыд
nastenoksi Дата: Вторник, 01.10.2013, 11:28 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Не вошло название темы полностью.
В общем необходимо нажатием энной кнопки добавлять строку в вводную таблицу, причем с копированием привязанного списка и формул как в предыдущих строках. Также эти строки должны появляться в другой таблице (Форма1). Ну и... некоей другой кнопкой нужно эти строки удалять (или как я в образце сделала - это было бы вообще идеально!!!!) подскажете?... girl_smile
К сообщению приложен файл: 8066777.rar (37.8 Kb)


Сообщение отредактировал nastenoksi - Вторник, 01.10.2013, 11:28
 
Ответить
СообщениеНе вошло название темы полностью.
В общем необходимо нажатием энной кнопки добавлять строку в вводную таблицу, причем с копированием привязанного списка и формул как в предыдущих строках. Также эти строки должны появляться в другой таблице (Форма1). Ну и... некоей другой кнопкой нужно эти строки удалять (или как я в образце сделала - это было бы вообще идеально!!!!) подскажете?... girl_smile

Автор - nastenoksi
Дата добавления - 01.10.2013 в 11:28
PowerBoy Дата: Вторник, 01.10.2013, 14:40 | Сообщение № 2
Группа: Проверенные
Ранг: Участник
Сообщений: 100
Репутация: 31 ±
Замечаний: 0% ±

2003
Посмотрите надстройку Активные таблицы, там в пример2 похожая задача решена.

Ссылка


Excel + SQL = ActiveTables (http://vk.com/ExcelSQL)
 
Ответить
СообщениеПосмотрите надстройку Активные таблицы, там в пример2 похожая задача решена.

Ссылка

Автор - PowerBoy
Дата добавления - 01.10.2013 в 14:40
RAN Дата: Вторник, 01.10.2013, 17:13 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub Мяу3_Добавить()
      Dim lr&, r As Range
      With Sheets("Ввод")
          lr = .Cells(Rows.Count, "E").End(xlUp).Row + 1
          If Len(.Cells(19, "E")) Then
              .Rows(19).Copy
              .Rows(lr).Insert Shift:=xlDown
              Set r = Union(.Range("E" & lr), .Range("O" & lr), .Range("W" & lr))
              r = ""
          End If
      End With
      Application.CutCopyMode = False
End Sub

Sub Мяу4_Удалить()
      Dim lr&, r As Range
      With Sheets("Ввод")
          lr = .Cells(Rows.Count, "E").End(xlUp).Row
             If lr > 19 Then .Rows(lr & ":" & 20).Delete
              Set r = Union(.Range("E" & 19), .Range("O" & 19), .Range("W" & 19))
              r = ""
      End With
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 01.10.2013, 17:14
 
Ответить
Сообщение[vba]
Код
Sub Мяу3_Добавить()
      Dim lr&, r As Range
      With Sheets("Ввод")
          lr = .Cells(Rows.Count, "E").End(xlUp).Row + 1
          If Len(.Cells(19, "E")) Then
              .Rows(19).Copy
              .Rows(lr).Insert Shift:=xlDown
              Set r = Union(.Range("E" & lr), .Range("O" & lr), .Range("W" & lr))
              r = ""
          End If
      End With
      Application.CutCopyMode = False
End Sub

Sub Мяу4_Удалить()
      Dim lr&, r As Range
      With Sheets("Ввод")
          lr = .Cells(Rows.Count, "E").End(xlUp).Row
             If lr > 19 Then .Rows(lr & ":" & 20).Delete
              Set r = Union(.Range("E" & 19), .Range("O" & 19), .Range("W" & 19))
              r = ""
      End With
End Sub
[/vba]

Автор - RAN
Дата добавления - 01.10.2013 в 17:13
nastenoksi Дата: Вторник, 01.10.2013, 20:12 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
PowerBoy, ох... и что ж мне с этим делать? =(
 
Ответить
СообщениеPowerBoy, ох... и что ж мне с этим делать? =(

Автор - nastenoksi
Дата добавления - 01.10.2013 в 20:12
nastenoksi Дата: Вторник, 01.10.2013, 20:22 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
RAN, не получается в этот паз ничего...
Может вы в моем файле попробуете?....
К сообщению приложен файл: 4492876.rar (37.1 Kb)
 
Ответить
СообщениеRAN, не получается в этот паз ничего...
Может вы в моем файле попробуете?....

Автор - nastenoksi
Дата добавления - 01.10.2013 в 20:22
RAN Дата: Вторник, 01.10.2013, 20:51 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
1.
[vba]
Код
Sub CommandButton2_Добавить()
[/vba]
не бывает. Бывает
[vba]
Код
Private Sub CommandButton2_Click()
[/vba]
Точнее, не то, чтобы совсем не бывает, но это не нажатие кнопки по умолчанию.
2. Не зачем в столбец, по которому определяется последняя строка, пихать всякий мусор.
3. В примере ассортимент начинался со строки 19, к ней макрос и привязан.

Попробуйте на предыдущем файле.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 01.10.2013, 20:53
 
Ответить
Сообщение1.
[vba]
Код
Sub CommandButton2_Добавить()
[/vba]
не бывает. Бывает
[vba]
Код
Private Sub CommandButton2_Click()
[/vba]
Точнее, не то, чтобы совсем не бывает, но это не нажатие кнопки по умолчанию.
2. Не зачем в столбец, по которому определяется последняя строка, пихать всякий мусор.
3. В примере ассортимент начинался со строки 19, к ней макрос и привязан.

Попробуйте на предыдущем файле.

Автор - RAN
Дата добавления - 01.10.2013 в 20:51
nastenoksi Дата: Вторник, 01.10.2013, 22:04 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
RAN, С добавлением строк все получилось!!!)))
Только не копирует "галочки" - если они мне конечно в будущем понадобятся...
С удалением - не получается никак((( Т.е. удаляется 1 верхняя строка и все... Дальше кнопка не арбайтен..

В общем, что мне бы хотелось получить с этими добавлениями/удалениями в итоге:
1. Добавить строки с копированием формул на листе "Ввод" - работает (только флажки перед асс-м не добавляет).
2. Удалением строк (желательно при тех, которые отмечены флажками, я в этот раз галки поменяла на флажки). Если сильно тяжело с флажками, то Бог с ними, пусть удаляет просто строки. но не первую. а начиная со второй... Первая она как бы всегда должна оставаться;
3. И вот тут самое главное!!! На листе "Форма1" в аналогичной таблице с ассортиментом (там стоят формулы =соответствующая строка в листе "Ввод") добавленные строки должны также отображаться, ну или автоматически удаляться, если я удаляю их в вводной таблице....

Вот...
*вспоминая ту самую Машу "О-хо-хоюшки-хо-хо"*...

Ниже файл с тем, что уже получилось:
К сообщению приложен файл: 7555224.rar (39.3 Kb)
 
Ответить
СообщениеRAN, С добавлением строк все получилось!!!)))
Только не копирует "галочки" - если они мне конечно в будущем понадобятся...
С удалением - не получается никак((( Т.е. удаляется 1 верхняя строка и все... Дальше кнопка не арбайтен..

В общем, что мне бы хотелось получить с этими добавлениями/удалениями в итоге:
1. Добавить строки с копированием формул на листе "Ввод" - работает (только флажки перед асс-м не добавляет).
2. Удалением строк (желательно при тех, которые отмечены флажками, я в этот раз галки поменяла на флажки). Если сильно тяжело с флажками, то Бог с ними, пусть удаляет просто строки. но не первую. а начиная со второй... Первая она как бы всегда должна оставаться;
3. И вот тут самое главное!!! На листе "Форма1" в аналогичной таблице с ассортиментом (там стоят формулы =соответствующая строка в листе "Ввод") добавленные строки должны также отображаться, ну или автоматически удаляться, если я удаляю их в вводной таблице....

Вот...
*вспоминая ту самую Машу "О-хо-хоюшки-хо-хо"*...

Ниже файл с тем, что уже получилось:

Автор - nastenoksi
Дата добавления - 01.10.2013 в 22:04
RAN Дата: Вторник, 01.10.2013, 22:45 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Дальше кнопка не арбайтен

Дальше вы не думайтен. :(
1 верхняя строка (19) как раз и остается, просто очищаются те ячейки, в которых нет формул.
Удаляются только заполненные строки. Те, что не заполнены, для макроса не существуют.
[vba]
Код
Private Sub CommandButton3_Click()
      Dim lr&, r As Range
      With Sheets("Ввод")
          lr = .Cells(Rows.Count, "E").End(xlUp).Row
              If lr > 19 Then .Rows(lr & ":" & 20).Delete
              Set r = Union(.Range("E" & 19), .Range("O" & 19), .Range("W" & 19))
              r = ""
      End With
End Sub
[/vba]
Вставка флажков - идея порочная, без меня.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 01.10.2013, 22:47
 
Ответить
Сообщение
Дальше кнопка не арбайтен

Дальше вы не думайтен. :(
1 верхняя строка (19) как раз и остается, просто очищаются те ячейки, в которых нет формул.
Удаляются только заполненные строки. Те, что не заполнены, для макроса не существуют.
[vba]
Код
Private Sub CommandButton3_Click()
      Dim lr&, r As Range
      With Sheets("Ввод")
          lr = .Cells(Rows.Count, "E").End(xlUp).Row
              If lr > 19 Then .Rows(lr & ":" & 20).Delete
              Set r = Union(.Range("E" & 19), .Range("O" & 19), .Range("W" & 19))
              r = ""
      End With
End Sub
[/vba]
Вставка флажков - идея порочная, без меня.

Автор - RAN
Дата добавления - 01.10.2013 в 22:45
Poltava Дата: Вторник, 01.10.2013, 22:59 | Сообщение № 9
Группа: Друзья
Ранг: Форумчанин
Сообщений: 232
Репутация: 50 ±
Замечаний: 0% ±

Цитата
Вставка флажков - идея порочная, без меня.

Согласен намучаетесь Вы с таким решением. Когда то давно подсмотрел в одной из тем (где не помню, так что надеюсь автор простит, за отсутствие ссылки на оригинал) но мне это решение кажеться намного более простым
К сообщению приложен файл: 2325404.xls (64.0 Kb)


Сообщение отредактировал Poltava - Вторник, 01.10.2013, 23:00
 
Ответить
Сообщение
Цитата
Вставка флажков - идея порочная, без меня.

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

Автор - Poltava
Дата добавления - 01.10.2013 в 22:59
nastenoksi Дата: Вторник, 01.10.2013, 23:04 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Вставка флажков - идея порочная, без меня.

Хорошо!
А с Формой1 как быть???
 
Ответить
Сообщение
Вставка флажков - идея порочная, без меня.

Хорошо!
А с Формой1 как быть???

Автор - nastenoksi
Дата добавления - 01.10.2013 в 23:04
Poltava Дата: Вторник, 01.10.2013, 23:17 | Сообщение № 11
Группа: Друзья
Ранг: Форумчанин
Сообщений: 232
Репутация: 50 ±
Замечаний: 0% ±

А в чем проблема я так понимаю количество строк одинаковое. Вы я думаю всеравно в цикле будите перебирать. Просто рядом с кодом удаления на вводе добавьте код удаления и на форме
 
Ответить
СообщениеА в чем проблема я так понимаю количество строк одинаковое. Вы я думаю всеравно в цикле будите перебирать. Просто рядом с кодом удаления на вводе добавьте код удаления и на форме

Автор - Poltava
Дата добавления - 01.10.2013 в 23:17
nastenoksi Дата: Вторник, 01.10.2013, 23:23 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
RAN, А можно, чтобы удалялись не заполненные, а пустые строки?
 
Ответить
СообщениеRAN, А можно, чтобы удалялись не заполненные, а пустые строки?

Автор - nastenoksi
Дата добавления - 01.10.2013 в 23:23
nastenoksi Дата: Вторник, 01.10.2013, 23:25 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
А в чем проблема я так понимаю количество строк одинаковое. Вы я думаю всеравно в цикле будите перебирать. Просто рядом с кодом удаления на вводе добавьте код удаления и на форме

Количество строк как раз-таки всегда разное.. от 2-х до 15...
 
Ответить
Сообщение
А в чем проблема я так понимаю количество строк одинаковое. Вы я думаю всеравно в цикле будите перебирать. Просто рядом с кодом удаления на вводе добавьте код удаления и на форме

Количество строк как раз-таки всегда разное.. от 2-х до 15...

Автор - nastenoksi
Дата добавления - 01.10.2013 в 23:25
Poltava Дата: Вторник, 01.10.2013, 23:33 | Сообщение № 14
Группа: Друзья
Ранг: Форумчанин
Сообщений: 232
Репутация: 50 ±
Замечаний: 0% ±

Цитата
Количество строк как раз-таки всегда разное.. от 2-х до 15
я имею в виду не в принцыпе может быть, а одновременно на листе форма и ввод количество строк должно совпадать!
Цитата
А можно, чтобы удалялись не заполненные
можно но это вместот галочек? или паралельно с ними?
 
Ответить
Сообщение
Цитата
Количество строк как раз-таки всегда разное.. от 2-х до 15
я имею в виду не в принцыпе может быть, а одновременно на листе форма и ввод количество строк должно совпадать!
Цитата
А можно, чтобы удалялись не заполненные
можно но это вместот галочек? или паралельно с ними?

Автор - Poltava
Дата добавления - 01.10.2013 в 23:33
nastenoksi Дата: Вторник, 01.10.2013, 23:41 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
можно но это вместот галочек? или паралельно с ними?

Это вместо галочек)
мне надо, чтобы пустые строки удалялись, т.е. лишние, а заполненные остались.
одновременно на листе форма и ввод количество строк должно совпадать!

не совпадает... а совпадать должно...

Может мне Team Viewer поставить?... мне иногда совсем ничего не понятно((((
 
Ответить
Сообщение
можно но это вместот галочек? или паралельно с ними?

Это вместо галочек)
мне надо, чтобы пустые строки удалялись, т.е. лишние, а заполненные остались.
одновременно на листе форма и ввод количество строк должно совпадать!

не совпадает... а совпадать должно...

Может мне Team Viewer поставить?... мне иногда совсем ничего не понятно((((

Автор - nastenoksi
Дата добавления - 01.10.2013 в 23:41
RAN Дата: Вторник, 01.10.2013, 23:46 | Сообщение № 16
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub Мяу5_форма()
      Dim lr&, r As Range, lscet&
      With Sheets("Форма1")
          lr = .Cells(12, "E").End(xlDown).Row
          If lr > 13 Then .Rows(lr - 1 & ":" & 14).Delete
          lscet = Sheets("Ввод").Cells(Rows.Count, "E").End(xlUp).Row - 18
          .Rows(13).Copy
          .Rows(14 & ":" & 12 + lscet).Insert Shift:=xlDown
      End With
      Application.CutCopyMode = False
End Sub
[/vba]

Выполнять по окончании ввода.

А можно, чтобы удалялись не заполненные, а пустые строки?

Можно все. НО
1. На каждый чих не наздравствуешся.
2. Больше работы руками - меньше ошибок.
3. Можно просто выделить строки и удалить штатными средствами Excel.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 01.10.2013, 23:48
 
Ответить
Сообщение[vba]
Код
Sub Мяу5_форма()
      Dim lr&, r As Range, lscet&
      With Sheets("Форма1")
          lr = .Cells(12, "E").End(xlDown).Row
          If lr > 13 Then .Rows(lr - 1 & ":" & 14).Delete
          lscet = Sheets("Ввод").Cells(Rows.Count, "E").End(xlUp).Row - 18
          .Rows(13).Copy
          .Rows(14 & ":" & 12 + lscet).Insert Shift:=xlDown
      End With
      Application.CutCopyMode = False
End Sub
[/vba]

Выполнять по окончании ввода.

А можно, чтобы удалялись не заполненные, а пустые строки?

Можно все. НО
1. На каждый чих не наздравствуешся.
2. Больше работы руками - меньше ошибок.
3. Можно просто выделить строки и удалить штатными средствами Excel.

Автор - RAN
Дата добавления - 01.10.2013 в 23:46
Wasilich Дата: Вторник, 01.10.2013, 23:59 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
В общем необходимо нажатием энной кнопки добавлять строку в вводную таблицу, причем с копированием привязанного списка и формул как в предыдущих строках. Также эти строки должны появляться в другой таблице (Форма1).
Смотрел я, смотрел Ваши таблицы да так и не понял, для чего все эти действия с добавлением/удалением строк, применением флажков? Или у Вас принцип такой - чем сложнее тем круче?


Сообщение отредактировал Wasilic - Среда, 02.10.2013, 00:05
 
Ответить
Сообщение
В общем необходимо нажатием энной кнопки добавлять строку в вводную таблицу, причем с копированием привязанного списка и формул как в предыдущих строках. Также эти строки должны появляться в другой таблице (Форма1).
Смотрел я, смотрел Ваши таблицы да так и не понял, для чего все эти действия с добавлением/удалением строк, применением флажков? Или у Вас принцип такой - чем сложнее тем круче?

Автор - Wasilich
Дата добавления - 01.10.2013 в 23:59
nastenoksi Дата: Среда, 02.10.2013, 00:03 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
чем сложнее тем круче?

я думала, так наоборот проще будет.
а вообще, я уже от флажков-галочек отказалась. пусть просто кнопочки будут...
 
Ответить
Сообщение
чем сложнее тем круче?

я думала, так наоборот проще будет.
а вообще, я уже от флажков-галочек отказалась. пусть просто кнопочки будут...

Автор - nastenoksi
Дата добавления - 02.10.2013 в 00:03
Wasilich Дата: Среда, 02.10.2013, 00:11 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
я думала, так наоборот проще будет.
Проще - оставить максимальное к-во строк, а заполнять необходимое количество.
 
Ответить
Сообщение
я думала, так наоборот проще будет.
Проще - оставить максимальное к-во строк, а заполнять необходимое количество.

Автор - Wasilich
Дата добавления - 02.10.2013 в 00:11
Wasilich Дата: Среда, 02.10.2013, 00:26 | Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
надеюсь автор простит, за отсутствие ссылки на оригинал
:) Узнаю свой почерк. Но я ведь тоже где-то подсмотрел такое решение.
 
Ответить
Сообщение
надеюсь автор простит, за отсутствие ссылки на оригинал
:) Узнаю свой почерк. Но я ведь тоже где-то подсмотрел такое решение.

Автор - Wasilich
Дата добавления - 02.10.2013 в 00:26
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подстановка строк в ввод. таблицу с копир-м данных из предыд (Макросы Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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