powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VB в Excel: размножение данных по листам с условиями.
4 сообщений из 4, страница 1 из 1
VB в Excel: размножение данных по листам с условиями.
    #33219048
SimpleRat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица в Excel с кучей постоянной добавляющихся листов.

В каждом листе есть данные, раскиданные по колонкам. Т.е. например, последняя заполненная ячейка в колонке А = А12, а в ячейке D = D34.
Необходимо по нажатию горячей клавиши (Alt+X, к примеру) данные из строки(т.е. всю строку), на которой стоит курсор, добавить к концу всех последующих листов (если брать пример выше, то на данный лист надо дабавлять в 35 строку), кроме тех листов, в которых в ячейке A1 стоит признак "Удален".

Кто помогёт составить макрос?

p.s. Формулы в Excel'е я еще могут составить, но VB......

з.ы. Что то типа такого..

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
z = <текущий лист>
<копируем в переменную/память строку, на которой стоит курсор>
For i = <текущий лист> To Excel.Worksheets.Count
        Worksheets(i).Activate
        if <не удален>
           <переходим на свободную строку>
           <вставляем строку>
        end if
Next i

Worksheets(z).Activate
...
Рейтинг: 0 / 0
VB в Excel: размножение данных по листам с условиями.
    #33219168
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря не знал как лучше выделить строку.
Но все работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Sub tt()
Dim rg As Range
Dim s As Worksheet
Dim r As Long
Dim c As Long

If TypeName(Selection) <> "Range" Then Exit Sub

r = ActiveCell.Row
c = Cells.Columns.Count

Set rg = Range(Cells(r,  1 ), Cells(r, c))

For Each s In ActiveWorkbook.Sheets
    If s.Range("A1") = "" And s.Name <> ActiveSheet.Name Then
        r = s.UsedRange.Row + s.UsedRange.Rows.Count
        rg.Copy (s.Cells(r,  1 ))
        s.Activate
        Exit For
        
    End If
Next s

End Sub

...
Рейтинг: 0 / 0
VB в Excel: размножение данных по листам с условиями.
    #33219178
SimpleRat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гм. Не совсем. Останавливается на втором листе. :( А их на данный момент около 50.
...
Рейтинг: 0 / 0
VB в Excel: размножение данных по листам с условиями.
    #33220756
Jem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Останавливается потому что стоит
Код: plaintext
exit for
поставь перед ним коммент и делов то
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VB в Excel: размножение данных по листам с условиями.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]