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

Вход

Регистрация

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

 

= Мир MS Excel/Выборка и перенос значений - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Выборка и перенос значений
Kinder Дата: Четверг, 05.12.2013, 08:04 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 0 ±
Замечаний: 0% ±

Добрый день! Подскажите пожалуйста как сделать выборку значений с разных листов и перенести в 1 лист по порядку. Даже не знаю с чего начать.
Заранее спасибо!
К сообщению приложен файл: 0615337.xls (51.5 Kb)


"И все таки она вертится!"
 
Ответить
СообщениеДобрый день! Подскажите пожалуйста как сделать выборку значений с разных листов и перенести в 1 лист по порядку. Даже не знаю с чего начать.
Заранее спасибо!

Автор - Kinder
Дата добавления - 05.12.2013 в 08:04
AlexM Дата: Четверг, 05.12.2013, 17:45 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Макросы надо осваивать.
Код для вашего примера
[vba]
Код
Sub Macros()
Application.ScreenUpdating = False
Dim i As Long, j As Long
j = 1
Set PN = Worksheets("Как должно быть")
For Each SN In ThisWorkbook.Sheets
     If SN.Name <> PN.Name Then
         For i = 2 To SN.Range("F2").End(xlDown).Row
             If SN.Range("E" & i) <> "" Then j = j + 1: PN.Range("D" & j) = SN.Range("F" & i)
             If IsNumeric(Left(SN.Range("F" & i), 8)) Then PN.Range("C" & j) = Left(SN.Range("F" & i), 8)
         Next i
     End If
Next
PN.Range("C2:D" & j).Sort Key1:=PN.Range("C2")
For i = j To 2 Step -1
     If PN.Range("C" & i) <> PN.Range("C" & i).Offset(-1, 0) And PN.Range("C" & i).Offset(-1, 0) <> "" Then
         PN.Rows(i).Insert Shift:=xlDown
     End If
Next i
Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 0615337_new.xls (78.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеМакросы надо осваивать.
Код для вашего примера
[vba]
Код
Sub Macros()
Application.ScreenUpdating = False
Dim i As Long, j As Long
j = 1
Set PN = Worksheets("Как должно быть")
For Each SN In ThisWorkbook.Sheets
     If SN.Name <> PN.Name Then
         For i = 2 To SN.Range("F2").End(xlDown).Row
             If SN.Range("E" & i) <> "" Then j = j + 1: PN.Range("D" & j) = SN.Range("F" & i)
             If IsNumeric(Left(SN.Range("F" & i), 8)) Then PN.Range("C" & j) = Left(SN.Range("F" & i), 8)
         Next i
     End If
Next
PN.Range("C2:D" & j).Sort Key1:=PN.Range("C2")
For i = j To 2 Step -1
     If PN.Range("C" & i) <> PN.Range("C" & i).Offset(-1, 0) And PN.Range("C" & i).Offset(-1, 0) <> "" Then
         PN.Rows(i).Insert Shift:=xlDown
     End If
Next i
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - AlexM
Дата добавления - 05.12.2013 в 17:45
Kinder Дата: Пятница, 06.12.2013, 17:26 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 0 ±
Замечаний: 0% ±

AlexM, Обалдеть!!!
Извиняюсь то что сразу не отписался. Просто не надеялся уже, что кто-то возьмется. И не смотрел что есть новые ответы((.
У меня сегодня на это сегодня ушло больше пол дня макрорекордером и чисткой километрового кода. И то не доделал!
Как вас отблагодарить?


"И все таки она вертится!"

Сообщение отредактировал Kinder - Пятница, 06.12.2013, 17:28
 
Ответить
СообщениеAlexM, Обалдеть!!!
Извиняюсь то что сразу не отписался. Просто не надеялся уже, что кто-то возьмется. И не смотрел что есть новые ответы((.
У меня сегодня на это сегодня ушло больше пол дня макрорекордером и чисткой километрового кода. И то не доделал!
Как вас отблагодарить?

Автор - Kinder
Дата добавления - 06.12.2013 в 17:26
Kinder Дата: Пятница, 06.12.2013, 17:36 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация: 0 ±
Замечаний: 0% ±

Можно ли закоментировать код если Вам не сложно?
Спасибо!


"И все таки она вертится!"
 
Ответить
СообщениеМожно ли закоментировать код если Вам не сложно?
Спасибо!

Автор - Kinder
Дата добавления - 06.12.2013 в 17:36
AlexM Дата: Пятница, 06.12.2013, 18:35 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Комментарии строк макроса.

как то так.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Пятница, 06.12.2013, 18:39
 
Ответить
СообщениеКомментарии строк макроса.

как то так.

Автор - AlexM
Дата добавления - 06.12.2013 в 18:35
  • Страница 1 из 1
  • 1
Поиск:

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