Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/103: Рейтинг темы: голосов - 103, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 8
1

Как прописать в макросе, чтобы результат добавлялся в следующую (после данных) пустую строку?

05.12.2011, 14:35. Просмотров 18602. Ответов 16
Метки нет (Все метки)

Добрый день.
На одном листе данные, которые сначала фильтруются одним способом и результат копируется на другой лист, затем другим способом и так далее.
создан макрос, который все это делает, но неизвестно сколько строк займет результат предыдущий, чтобы следующий результат не стер его.
Задача:
как прописать в макросе, чтобы результат добавлялся в следующую (после данных) пустую строку?
Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2011, 14:35
Ответы с готовыми решениями:

Копирование данных в следующую пустую строку
в этом деле я не специалист но очень надо для работы. Записал макрос который просто копирует данные...

Переход на следующую строку в макросе
Здравствуйте! Как в макросе организовать переход на следующую строку?

Перенос ячейки в следующую пустую строку другой книги?
Помогите мне создать такой макрос, который берет данные из файла shab c листа "Прибль" из ячейки ...

Нужно чтобы после удаления выбранной строки таргет ложился на следующую строку
Доброго времени суток, пишу ежедневник и вот на чем застрял, нужно чтобы после удаления выбранной...

16
3 / 3 / 0
Регистрация: 08.09.2011
Сообщений: 111
05.12.2011, 14:44 2
Если я правильно понял задачу, и речь идет о поиске первой пустой строки снизу, тогда вот это подойдет:
Visual Basic
1
2
3
4
5
With ActiveWorkbook.Worksheets("NAME") 
str = 1 
Do Until .Cells(str, 1).Value = ""  
str = str + 1                                   
Loop
0
3 / 3 / 0
Регистрация: 08.09.2011
Сообщений: 111
05.12.2011, 14:44 3
Пардон, последнюю строку не дописал
Cells(str, 1).Select
0
3 / 3 / 0
Регистрация: 08.09.2011
Сообщений: 111
05.12.2011, 15:36 4
Снова я ....
Прошу прощения, предыдущий макрос находит первую пустую ячейку сверху..
А вот этот - снизу:
Visual Basic
1
2
3
4
5
6
Sub aaaaa()
Dim NextRow As Long
NextRow = Range("A65536").End(xlUp).Row + 1
    Cells(NextRow, 1).Select
Selection.Copy
End Sub
1
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 8
05.12.2011, 15:42  [ТС] 5
спасибо за советы!
макрос выглядит вот так вот

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Макрос9()  
  Range("A2").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.AutoFilter Field:=12, Criteria1:="<>"
    Selection.Copy
    Sheets("итог").Select
    Range("A10").Select
    ActiveSheet.Paste
    Range("A10").Select
    Application.CutCopyMode = False
    Sheets("исходник").Select
    Selection.AutoFilter Field:=12, Criteria1:="="
    Selection.AutoFilter Field:=11, Criteria1:="<=10", Operator:=xlAnd
    Selection.Copy
[italic][bold]Range("A12").Select[/bold] [/italic] - вместо А12 мне нужна следующая пустая строка

Visual Basic
1
2
3
4
5
6
  Sheets("исходник").Select
    Selection.AutoFilter Field:=12
    Selection.AutoFilter Field:=11
    Application.CutCopyMode = False
    Sheets("итог").Select
End Sub
0
3 / 3 / 0
Регистрация: 08.09.2011
Сообщений: 111
05.12.2011, 16:02 6
А зачем фисированные ссылки на ячейки? Можно всегда искать первую пустую сверху или снизу.
Сначала копировать нужный диапазон, а затем вставить вот это:
Visual Basic
1
2
NextRow = Range("A65536").End(xlUp).Row + 1
Cells(NextRow, 1).Select
Это и будет первой пустой строкой снизу, а затем уже вставить скопированный заранее диапазон...
1
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 8
05.12.2011, 16:06  [ТС] 7
о, да!
спасибо огромнейшеее
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 8
05.12.2011, 19:39  [ТС] 8
может подскажете, как мне сравнить два столбца?
т.е. если значение ячейки столбца "А" < "B", то строка выделяется и копируется на другой лист.
спасибо.
0
3 / 3 / 0
Регистрация: 08.09.2011
Сообщений: 111
06.12.2011, 09:54 9
См файл..
1
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 8
06.12.2011, 12:03  [ТС] 10
спасибо!!!
но как-то странно, копируется одна строка n (For n = 1 To 30 )кол-во раз, а хочется, чтобы копировалась один раз и + остальные строки с изменениями чтобы копировались
0
3 / 3 / 0
Регистрация: 08.09.2011
Сообщений: 111
06.12.2011, 13:00 11
У меня все работает.
На второй странице не появляется список с 1 по 7?
0
3 / 3 / 0
Регистрация: 08.09.2011
Сообщений: 111
06.12.2011, 13:10 12
Кстати, там у вас в коде нигде не стоит n = n - 1 ?
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 8
06.12.2011, 13:39  [ТС] 13
Tsvet, это я, шляпа, чего-то напортачила
все работает как надо!
СПАСИБО!!!
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 8
07.12.2011, 12:23  [ТС] 14
добрый день!
опять я со своими вопросами
создаю на листе форму "список", формирую ее с диапозоном и связываю с ячейкой.
все хорошо, но в конечной ячейке отражается "порядкой номер" а не значение
можно ли как-то изменить. Просто хочется, чтобы при печати не отображалась сама форма - некрасиво.
спасибо.
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
07.12.2011, 12:41 15
1) В ячейку F3 формулу =СМЕЩ(B7;E3;0)
2) На Раскрывающемся списке правую кнопку мышки -> формат объекта -> ВКЛАДКА "Свойства" -> крыжык "Выводить объект на печать"
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 8
07.12.2011, 12:58  [ТС] 16
Спасибо!!!
0
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 4
30.04.2013, 10:00 17
Помогите и мне с макросом:
если вводить в ячейку F13 число, оно по средствам "макроса1" копируется в ячейку A2.
Как сделать, чтобы при следующем вводе в ту же ячейку F13 другого числа, предыдущий результат в ячейке А2 не стрирался, а число вставлялось в следующую пустую ячейку А3?

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub макрос1()
'
' Макрос1 макрос
'
 
'
    Range("F13").Select
    Selection.Copy
    Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
NextRow = Range("A65536").End(xlUp).Row + 1
Cells(NextRow, 1).Select
 
End Sub
 
Где что надо изменить?
Где что надо изменить?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2013, 10:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Split, так чтобы после нахождениия определенных слов он сохранял следующую строку
Мне надо файл &quot;test.txt&quot; &quot;Просплитить&quot; (Split), так чтобы после нахождениия определенных слов он...

Как прописать в "Макросе" формулу, чтобы она копировала нужный изменяющийся по строкам и столбцам диапазон
Доброго времени суток! Облазила все формулы нечего не нашла, что мне надо, ни как не пойму...

Как прописать в макросе на VBA для файлов Excel, чтобы пропускать диалоговые сообщения "Файл уже используется"
Добрый день. Помогите пожалуйста, есть следующая проблема. В коде есть цикл, который открывает...

Как сделать так, чтобы при создании объектов,полю присваивалось значение после вызова метода и этот объект добавлялся в коллекцию
Пробовал через конструктор, ног ничего не получается public Tematic(string ck,ArrayList r ){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.