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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое копирование данных - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Автоматическое копирование данных
Незнакомка Дата: Суббота, 14.03.2015, 23:20 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте!! Помогите,пожалуйста, возникла проблема, сама не могу решить: Необходимо ,чтоб данные из таблиц на разных листах, отмеченные +, автоматически дублировались в спецификации. Заранее спасибо и не перестаю извиняться за некорректность названия темы.
К сообщению приложен файл: 12.xlsx (25.0 Kb)
 
Ответить
СообщениеЗдравствуйте!! Помогите,пожалуйста, возникла проблема, сама не могу решить: Необходимо ,чтоб данные из таблиц на разных листах, отмеченные +, автоматически дублировались в спецификации. Заранее спасибо и не перестаю извиняться за некорректность названия темы.

Автор - Незнакомка
Дата добавления - 14.03.2015 в 23:20
Kuzmich Дата: Суббота, 14.03.2015, 23:56 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Макрос в лист Спецификация, предварительно очистить предыдущие данные
[vba]
Код

Private Sub CommandButton1_Click()
Dim Sht As Worksheet
Dim i As Long
Dim iLastRow As Long
Dim iLR As Long
Dim Spec As Worksheet
     Set Spec = ThisWorkbook.Worksheets("Спецификация")
     For Each Sht In Worksheets
       If Sht.Name <> "Спецификация" Then        ' кроме листа
         With Sht
           iLastRow = Spec.Cells(Rows.Count, 2).End(xlUp).Row + 1
           iLR = .Cells(Rows.Count, 1).End(xlUp).Row
             For i = 4 To iLR
               If .Cells(i, 6) = "+" Then
                 .Range("A" & i & ":E" & i).Copy
                 Spec.Cells(iLastRow, 2).PasteSpecial xlPasteValues
                 Spec.Cells(iLastRow, 7) = Sht.Name
                 iLastRow = Spec.Cells(Rows.Count, 2).End(xlUp).Row + 1
               End If
             Next
         End With
       End If
     Next
End Sub
[/vba]
 
Ответить
СообщениеМакрос в лист Спецификация, предварительно очистить предыдущие данные
[vba]
Код

Private Sub CommandButton1_Click()
Dim Sht As Worksheet
Dim i As Long
Dim iLastRow As Long
Dim iLR As Long
Dim Spec As Worksheet
     Set Spec = ThisWorkbook.Worksheets("Спецификация")
     For Each Sht In Worksheets
       If Sht.Name <> "Спецификация" Then        ' кроме листа
         With Sht
           iLastRow = Spec.Cells(Rows.Count, 2).End(xlUp).Row + 1
           iLR = .Cells(Rows.Count, 1).End(xlUp).Row
             For i = 4 To iLR
               If .Cells(i, 6) = "+" Then
                 .Range("A" & i & ":E" & i).Copy
                 Spec.Cells(iLastRow, 2).PasteSpecial xlPasteValues
                 Spec.Cells(iLastRow, 7) = Sht.Name
                 iLastRow = Spec.Cells(Rows.Count, 2).End(xlUp).Row + 1
               End If
             Next
         End With
       End If
     Next
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 14.03.2015 в 23:56
Незнакомка Дата: Воскресенье, 15.03.2015, 09:00 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Kuzmich, СПАСИБО БОЛЬШОЕ!!! ЕДИНСТВЕННОЕ.МНЕ СЛОЖНОВАТО С МАКРОСАМИ, МОЖЕТ ЕСТЬ ВАРИАНТ ПРИ ПОМОЩИ ФОРМУЛ?? ИЗВИНИТЕ ЗА НАГЛОСТЬ.
 
Ответить
СообщениеKuzmich, СПАСИБО БОЛЬШОЕ!!! ЕДИНСТВЕННОЕ.МНЕ СЛОЖНОВАТО С МАКРОСАМИ, МОЖЕТ ЕСТЬ ВАРИАНТ ПРИ ПОМОЩИ ФОРМУЛ?? ИЗВИНИТЕ ЗА НАГЛОСТЬ.

Автор - Незнакомка
Дата добавления - 15.03.2015 в 09:00
Незнакомка Дата: Воскресенье, 15.03.2015, 09:10 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Kuzmich, получилось с макросом!!!! единственное когда + в таблицах убираю, значения в спецификации остаются, можно ли как-то учесть это??? спасибо.
 
Ответить
СообщениеKuzmich, получилось с макросом!!!! единственное когда + в таблицах убираю, значения в спецификации остаются, можно ли как-то учесть это??? спасибо.

Автор - Незнакомка
Дата добавления - 15.03.2015 в 09:10
Nic70y Дата: Воскресенье, 15.03.2015, 09:32 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 9133
Репутация: 2416 ±
Замечаний: 0% ±

Excel 2010
Цитата Незнакомка, 15.03.2015 в 09:00, в сообщении № 3
МОЖЕТ ЕСТЬ ВАРИАНТ ПРИ ПОМОЩИ ФОРМУЛ
наверное есть
К сообщению приложен файл: 15-12-45.xlsx (30.1 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Цитата Незнакомка, 15.03.2015 в 09:00, в сообщении № 3
МОЖЕТ ЕСТЬ ВАРИАНТ ПРИ ПОМОЩИ ФОРМУЛ
наверное есть

Автор - Nic70y
Дата добавления - 15.03.2015 в 09:32
ShAM Дата: Воскресенье, 15.03.2015, 09:45 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Цитата Незнакомка, 15.03.2015 в 09:10, в сообщении № 4
когда + в таблицах убираю, значения в спецификации остаются
Не внимательно прочитали:
предварительно очистить предыдущие данные

Или добавить в код очистку диапазона: [vba]
Код
Set Spec = ThisWorkbook.Worksheets("Спецификация"): Spec.Range("B4:G50").ClearContents
[/vba]
 
Ответить
Сообщение
Цитата Незнакомка, 15.03.2015 в 09:10, в сообщении № 4
когда + в таблицах убираю, значения в спецификации остаются
Не внимательно прочитали:
предварительно очистить предыдущие данные

Или добавить в код очистку диапазона: [vba]
Код
Set Spec = ThisWorkbook.Worksheets("Спецификация"): Spec.Range("B4:G50").ClearContents
[/vba]

Автор - ShAM
Дата добавления - 15.03.2015 в 09:45
Незнакомка Дата: Воскресенье, 15.03.2015, 11:05 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Всем спасибо огромное!!! Вы мои спасители!!!
 
Ответить
СообщениеВсем спасибо огромное!!! Вы мои спасители!!!

Автор - Незнакомка
Дата добавления - 15.03.2015 в 11:05
Незнакомка Дата: Пятница, 20.03.2015, 22:34 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте!!! Подскажите,пожалуйста, в процессе работы, выявились недочеты работы макроса, при заполнении таблиц , менялись размеры ячеек, в связи с чем программа стала "ругаться" и выдавать ошибку, помогите ,пожалуйста устранить этот недочет...спасибо
 
Ответить
СообщениеЗдравствуйте!!! Подскажите,пожалуйста, в процессе работы, выявились недочеты работы макроса, при заполнении таблиц , менялись размеры ячеек, в связи с чем программа стала "ругаться" и выдавать ошибку, помогите ,пожалуйста устранить этот недочет...спасибо

Автор - Незнакомка
Дата добавления - 20.03.2015 в 22:34
Незнакомка Дата: Пятница, 20.03.2015, 22:46 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
error "1004" Для этого все объединенные ячейки должны иметь одинаковый размер. (вот какая имеется ошибка при запуске макроса)
 
Ответить
Сообщениеerror "1004" Для этого все объединенные ячейки должны иметь одинаковый размер. (вот какая имеется ошибка при запуске макроса)

Автор - Незнакомка
Дата добавления - 20.03.2015 в 22:46
Kuzmich Дата: Пятница, 20.03.2015, 22:52 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Наверное надо убрать объединение ячеек.
Покажите ваш новый файл.
 
Ответить
СообщениеНаверное надо убрать объединение ячеек.
Покажите ваш новый файл.

Автор - Kuzmich
Дата добавления - 20.03.2015 в 22:52
Незнакомка Дата: Пятница, 20.03.2015, 23:26 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Kuzmich,
К сообщению приложен файл: 12.xlsm (37.8 Kb)
 
Ответить
СообщениеKuzmich,

Автор - Незнакомка
Дата добавления - 20.03.2015 в 23:26
Kuzmich Дата: Суббота, 21.03.2015, 00:30 | Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Незнакомка!
Все листы, кроме листа Спецификация должны иметь одну структуру, у вас не так.
В первоначальном варианте на листе Спецификация у вас не было внизу таблицы
шапки, поэтому в макросе надо изменить код определения последней строки.
И старайтесь избегать объединенных ячеек!
Посмотрите файл.
К сообщению приложен файл: 4069915.rar (21.4 Kb)
 
Ответить
СообщениеНезнакомка!
Все листы, кроме листа Спецификация должны иметь одну структуру, у вас не так.
В первоначальном варианте на листе Спецификация у вас не было внизу таблицы
шапки, поэтому в макросе надо изменить код определения последней строки.
И старайтесь избегать объединенных ячеек!
Посмотрите файл.

Автор - Kuzmich
Дата добавления - 21.03.2015 в 00:30
Незнакомка Дата: Суббота, 21.03.2015, 08:49 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Kuzmich, вы не могли бы отправить файл в формате xlsx, у меня не открывается Ваш, спасибо
 
Ответить
СообщениеKuzmich, вы не могли бы отправить файл в формате xlsx, у меня не открывается Ваш, спасибо

Автор - Незнакомка
Дата добавления - 21.03.2015 в 08:49
Kuzmich Дата: Суббота, 21.03.2015, 10:28 | Сообщение № 14
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Там в архиве файл в формате Excel 2003, должен открываться в более высоких
версиях. Вы распакуйте в какую-либо папку, а затем запустите.
 
Ответить
СообщениеТам в архиве файл в формате Excel 2003, должен открываться в более высоких
версиях. Вы распакуйте в какую-либо папку, а затем запустите.

Автор - Kuzmich
Дата добавления - 21.03.2015 в 10:28
Незнакомка Дата: Суббота, 21.03.2015, 10:45 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
:( выдает значек браузера,и отказывается даже открываться
 
Ответить
Сообщение:( выдает значек браузера,и отказывается даже открываться

Автор - Незнакомка
Дата добавления - 21.03.2015 в 10:45
Kuzmich Дата: Суббота, 21.03.2015, 10:48 | Сообщение № 16
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Приложил сам файл .xls
К сообщению приложен файл: 3864982.xls (90.5 Kb)
 
Ответить
СообщениеПриложил сам файл .xls

Автор - Kuzmich
Дата добавления - 21.03.2015 в 10:48
Незнакомка Дата: Суббота, 21.03.2015, 11:06 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Kuzmich, мне дико неудобно перед Вами, но у меня открывает файлы в экселе только в формате xlsx, а xls даже не грузит...
 
Ответить
СообщениеKuzmich, мне дико неудобно перед Вами, но у меня открывает файлы в экселе только в формате xlsx, а xls даже не грузит...

Автор - Незнакомка
Дата добавления - 21.03.2015 в 11:06
Kuzmich Дата: Суббота, 21.03.2015, 11:27 | Сообщение № 18
Группа: Проверенные
Ранг: Ветеран
Сообщений: 715
Репутация: 157 ±
Замечаний: 0% ±

Excel 2003
Сделайте ваши листы в едином формате, как ДСП и Фасады
На листе Спецификация уберите объединенные ячейки (сделайте в В2 - Спецификация,
в С2 - Приложение к договору №)
[vba]
Код

Sub Макрос1()
Dim Sht As Worksheet
Dim i As Long
Dim iLastRow As Long
Dim iLR As Long
Dim Spec As Worksheet
      Set Spec = ThisWorkbook.Worksheets("Спецификация")
         Spec.Range("B4:G43").ClearContents     'очищаем спецификацию
      For Each Sht In Worksheets
      If Sht.Name <> "Спецификация" Then        ' кроме листа
          With Sht
          iLastRow = Spec.[B1].End(xlDown).Row + 1
          iLR = .Cells(Rows.Count, 2).End(xlUp).Row
              For i = 4 To iLR
              If .Cells(i, 7) = "+" Then
                  .Range("B" & i & ":F" & i).Copy
                  Spec.Cells(iLastRow, 2).PasteSpecial xlPasteValues
                  Spec.Cells(iLastRow, 7) = Sht.Name
                  iLastRow = Spec.[B1].End(xlDown).Row + 1
                If iLastRow = 43 Then MsgBox "Нет места в таблице для спецификаций"
              End If
              Next
          End With
      End If
      Next
End Sub
[/vba]
 
Ответить
СообщениеСделайте ваши листы в едином формате, как ДСП и Фасады
На листе Спецификация уберите объединенные ячейки (сделайте в В2 - Спецификация,
в С2 - Приложение к договору №)
[vba]
Код

Sub Макрос1()
Dim Sht As Worksheet
Dim i As Long
Dim iLastRow As Long
Dim iLR As Long
Dim Spec As Worksheet
      Set Spec = ThisWorkbook.Worksheets("Спецификация")
         Spec.Range("B4:G43").ClearContents     'очищаем спецификацию
      For Each Sht In Worksheets
      If Sht.Name <> "Спецификация" Then        ' кроме листа
          With Sht
          iLastRow = Spec.[B1].End(xlDown).Row + 1
          iLR = .Cells(Rows.Count, 2).End(xlUp).Row
              For i = 4 To iLR
              If .Cells(i, 7) = "+" Then
                  .Range("B" & i & ":F" & i).Copy
                  Spec.Cells(iLastRow, 2).PasteSpecial xlPasteValues
                  Spec.Cells(iLastRow, 7) = Sht.Name
                  iLastRow = Spec.[B1].End(xlDown).Row + 1
                If iLastRow = 43 Then MsgBox "Нет места в таблице для спецификаций"
              End If
              Next
          End With
      End If
      Next
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 21.03.2015 в 11:27
Незнакомка Дата: Суббота, 21.03.2015, 11:32 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Kuzmich, спасибо!!!!
 
Ответить
СообщениеKuzmich, спасибо!!!!

Автор - Незнакомка
Дата добавления - 21.03.2015 в 11:32
ShAM Дата: Суббота, 21.03.2015, 12:56 | Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Цитата Незнакомка, 21.03.2015 в 11:06, в сообщении № 17
но у меня открывает файлы в экселе только в формате xlsx, а xls даже не грузит
Хм, странный эксель, однако. Вдруг еще у кого-то такой же, файл от Kuzmich в .xlsm-формате.
К сообщению приложен файл: 3864982_1.xlsm (36.7 Kb)
 
Ответить
Сообщение
Цитата Незнакомка, 21.03.2015 в 11:06, в сообщении № 17
но у меня открывает файлы в экселе только в формате xlsx, а xls даже не грузит
Хм, странный эксель, однако. Вдруг еще у кого-то такой же, файл от Kuzmich в .xlsm-формате.

Автор - ShAM
Дата добавления - 21.03.2015 в 12:56
  • Страница 1 из 1
  • 1
Поиск:

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