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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование строки на новый лист, по значению в ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование строки на новый лист, по значению в ячейке (Макросы/Sub)
Копирование строки на новый лист, по значению в ячейке
Kraga Дата: Четверг, 30.10.2014, 11:34 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте. Уважаемы форумчане требуется ваша помощь, ибо сам я в этом не особо разбираюсь. Имеется макрос, который копирует строки из листа 1 на лист 2 при нажатии кнопки "Добавить", если в столбце А стоит 1, пустые пропускает. Теперь вопросы:
-можно ли поменять значение единицы, на диапазон, например от 1 до 1000 или на значение ячейки(пустая или не пустая)? То как, а то что то у меня ни как не получается.
-если первая задача решаема, то возможен ли перенос значений из столбца А, на листе 1, в столбец кол-во на листе 2?
Файл во вложении.
К сообщению приложен файл: 1253669.xls (71.5 Kb)


Сообщение отредактировал Kraga - Четверг, 30.10.2014, 11:34
 
Ответить
СообщениеЗдравствуйте. Уважаемы форумчане требуется ваша помощь, ибо сам я в этом не особо разбираюсь. Имеется макрос, который копирует строки из листа 1 на лист 2 при нажатии кнопки "Добавить", если в столбце А стоит 1, пустые пропускает. Теперь вопросы:
-можно ли поменять значение единицы, на диапазон, например от 1 до 1000 или на значение ячейки(пустая или не пустая)? То как, а то что то у меня ни как не получается.
-если первая задача решаема, то возможен ли перенос значений из столбца А, на листе 1, в столбец кол-во на листе 2?
Файл во вложении.

Автор - Kraga
Дата добавления - 30.10.2014 в 11:34
krosav4ig Дата: Четверг, 30.10.2014, 17:44 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
замените код в module2 на[vba]
Код
Sub toCSV()
       Dim wsh As Worksheet, wsh1 As Worksheet, wsh2 As Worksheet
       Dim rng1, rng2 As Range, rRow&
With Application: .ScreenUpdating = 0: .EnableEvents = 0: End With
       On Error GoTo err
       Set wsh = ActiveSheet
       Set wsh1 = Sheets("IRR"): Set wsh2 = Sheets("CSV")
       Set rng1 = wsh1.[A:A].SpecialCells(xlCellTypeConstants, 1)
       Set rng2 = Intersect(wsh1.[O:R], rng1.EntireRow)
       With wsh2
           rRow = Application.CountA(.[B:B])
           rng2.Copy .[B1].Offset(rRow)
           rng1.Copy .[D1].Offset(rRow)
           rRow = Application.CountA(.[B:B])-1
           .[A2:A3].AutoFill .[A2].Resize(rRow), 0
           .[F2:I3].AutoFill .[F2:I3].Resize(rRow), 0
           .[B2:E2].AutoFill .[B2:E2].Resize(rRow), 3
       End With
       Application.CutCopyMode = 0: wsh.Activate
       Set wsh = Nothing: Set wsh1 = Nothing: Set wsh2 = Nothing
err:
With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 30.10.2014, 17:49
 
Ответить
Сообщениезамените код в module2 на[vba]
Код
Sub toCSV()
       Dim wsh As Worksheet, wsh1 As Worksheet, wsh2 As Worksheet
       Dim rng1, rng2 As Range, rRow&
With Application: .ScreenUpdating = 0: .EnableEvents = 0: End With
       On Error GoTo err
       Set wsh = ActiveSheet
       Set wsh1 = Sheets("IRR"): Set wsh2 = Sheets("CSV")
       Set rng1 = wsh1.[A:A].SpecialCells(xlCellTypeConstants, 1)
       Set rng2 = Intersect(wsh1.[O:R], rng1.EntireRow)
       With wsh2
           rRow = Application.CountA(.[B:B])
           rng2.Copy .[B1].Offset(rRow)
           rng1.Copy .[D1].Offset(rRow)
           rRow = Application.CountA(.[B:B])-1
           .[A2:A3].AutoFill .[A2].Resize(rRow), 0
           .[F2:I3].AutoFill .[F2:I3].Resize(rRow), 0
           .[B2:E2].AutoFill .[B2:E2].Resize(rRow), 3
       End With
       Application.CutCopyMode = 0: wsh.Activate
       Set wsh = Nothing: Set wsh1 = Nothing: Set wsh2 = Nothing
err:
With Application: .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 30.10.2014 в 17:44
Kraga Дата: Четверг, 30.10.2014, 18:32 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
замените код в module2

Спасибо огромное, все прекрасно работает!
 
Ответить
Сообщение
замените код в module2

Спасибо огромное, все прекрасно работает!

Автор - Kraga
Дата добавления - 30.10.2014 в 18:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование строки на новый лист, по значению в ячейке (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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