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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос строки на другой лист с условием наличия данных - Мир MS Excel

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

Excel 2013
Всем привет, нужна помощь в доработке Книги ексель.
Нужен макрос, который будет переносить всю строку по нажатии кнопки в другой лист на тоже самое место, если в строке имеется дата.
Если в 1,3,6 строке есть данные (дата в данном случае), а в 2,4,5 строках пусто, то пустые должны остаться а заполненные перейти во второй лист.
Помогите пожалуйста советом как это лучше сделать.

С\у, Вячеслав.
К сообщению приложен файл: 5922646.xlsm (88.9 Kb)


Сообщение отредактировал GhostMAn - Понедельник, 02.02.2015, 11:56
 
Ответить
СообщениеВсем привет, нужна помощь в доработке Книги ексель.
Нужен макрос, который будет переносить всю строку по нажатии кнопки в другой лист на тоже самое место, если в строке имеется дата.
Если в 1,3,6 строке есть данные (дата в данном случае), а в 2,4,5 строках пусто, то пустые должны остаться а заполненные перейти во второй лист.
Помогите пожалуйста советом как это лучше сделать.

С\у, Вячеслав.

Автор - GhostMAn
Дата добавления - 02.02.2015 в 11:52
vikttur Дата: Понедельник, 02.02.2015, 12:01 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Если только макросом - есть отдельная ветка для VBA
Формулой - в файле (кстати, для примера можно было и такой выложить, без сотен заполненных строк)
К сообщению приложен файл: 7702428.xlsm (18.7 Kb)


Сообщение отредактировал vikttur - Понедельник, 02.02.2015, 12:12
 
Ответить
СообщениеЕсли только макросом - есть отдельная ветка для VBA
Формулой - в файле (кстати, для примера можно было и такой выложить, без сотен заполненных строк)

Автор - vikttur
Дата добавления - 02.02.2015 в 12:01
GhostMAn Дата: Понедельник, 02.02.2015, 13:21 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
vikttur, спасибо за пример, формула хорошая, но в моём случае не подходит.

з.ы. так мне лучше тему создать в VBA ?
[moder]Не надо дублировать темы[/moder]
 
Ответить
Сообщениеvikttur, спасибо за пример, формула хорошая, но в моём случае не подходит.

з.ы. так мне лучше тему создать в VBA ?
[moder]Не надо дублировать темы[/moder]

Автор - GhostMAn
Дата добавления - 02.02.2015 в 13:21
Karataev Дата: Понедельник, 02.02.2015, 22:29 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1342
Репутация: 535 ±
Замечаний: 0% ±

Excel
утилита смотрит, пустая ячейка в столбце B или нет. если не пустая,то копируются данные с листа на другой лист
[vba]
Код

Sub Macro1()
     Dim sh1 As Worksheet, sh2 As Worksheet, arr()
     Dim lngLastRow As Long
     Dim i As Long, r As Long
     Application.ScreenUpdating = False
     Set sh1 = Worksheets("СВХ")
     Set sh2 = Worksheets("отчет")
     lngLastRow = sh1.UsedRange.Row + sh1.UsedRange.Rows.Count - 1
     arr() = sh1.Range("B1:B" & lngLastRow).Value
     r = 3
     For i = 4 To UBound(arr)
         If CStr(arr(i, 1)) <> "" Then
             r = r + 1
             sh2.Cells(r, "A").Resize(1, 28).Value = sh1.Cells(i, "A").Resize(1, 28).Value
         End If
     Next
     Application.ScreenUpdating = True
End Sub
[/vba]
 
Ответить
Сообщениеутилита смотрит, пустая ячейка в столбце B или нет. если не пустая,то копируются данные с листа на другой лист
[vba]
Код

Sub Macro1()
     Dim sh1 As Worksheet, sh2 As Worksheet, arr()
     Dim lngLastRow As Long
     Dim i As Long, r As Long
     Application.ScreenUpdating = False
     Set sh1 = Worksheets("СВХ")
     Set sh2 = Worksheets("отчет")
     lngLastRow = sh1.UsedRange.Row + sh1.UsedRange.Rows.Count - 1
     arr() = sh1.Range("B1:B" & lngLastRow).Value
     r = 3
     For i = 4 To UBound(arr)
         If CStr(arr(i, 1)) <> "" Then
             r = r + 1
             sh2.Cells(r, "A").Resize(1, 28).Value = sh1.Cells(i, "A").Resize(1, 28).Value
         End If
     Next
     Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Karataev
Дата добавления - 02.02.2015 в 22:29
GhostMAn Дата: Вторник, 03.02.2015, 08:10 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Karataev, то что надо! спасибо большое!!!
 
Ответить
СообщениеKarataev, то что надо! спасибо большое!!!

Автор - GhostMAn
Дата добавления - 03.02.2015 в 08:10
cartter Дата: Среда, 22.08.2018, 18:38 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день, подскажите как на примере кода от Karataev, получить данные на листе "отчет" в конце данных?
При применении кода данные вставляются вверху и заменяют существующие записи...
 
Ответить
СообщениеДобрый день, подскажите как на примере кода от Karataev, получить данные на листе "отчет" в конце данных?
При применении кода данные вставляются вверху и заменяют существующие записи...

Автор - cartter
Дата добавления - 22.08.2018 в 18:38
Pelena Дата: Среда, 22.08.2018, 19:11 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация: 4660 ±
Замечаний: ±

Excel 365 & Mac Excel
cartter, прочитайте Правила форума и создайте свою тему, приложив файл с примером. Эта тема закрыта


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеcartter, прочитайте Правила форума и создайте свою тему, приложив файл с примером. Эта тема закрыта

Автор - Pelena
Дата добавления - 22.08.2018 в 19:11
  • Страница 1 из 1
  • 1
Поиск:

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