Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0mega
6 / 7 / 1
Регистрация: 05.11.2013
Сообщений: 206
1

Макрос. Выбрать отмеченные позиции и перенести на другой лист

28.06.2017, 22:06. Просмотров 1947. Ответов 6
Метки нет (Все метки)

Доброго времени суток
В Книге 2 листа

На листе "Общий" есть таблица состоящая из 6 столбцов (предполагается увеличение )
Пользователь отмечает определенные позиции любым символом и макрос должен их скопировать на лист "Отчет"
То что я хочу уже работает на формулах ( можно посмотреть , потрогать, поменять)
Надо такой же результат но на макросах
0
Вложения
Тип файла: xls SlistaNaList.xls (48.5 Кб, 9 просмотров)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2017, 22:06
Ответы с готовыми решениями:

Выбрать в диапазоне значения по заданному промежутку и перенести на другой лист Excel
Уважаемые форумчане! Пожалуйста, подскажите как сделать выборку значений в диапазоне по...

Перенести данные с листа на другой лист
Добрый вечер! у меня такая проблема: у меня на Лист1 есть 20 чисел, которые генерируются...

Перенести данные на другой лист по условию
Добрый вечер друзья! Нужна опять ваша помощь!!!! В ячейке А1-А31 стоят даты (например в А1-01.11,...

Как перенести Range на другой лист
Public shet As Worksheet Public rng As Range Private Sub CommandButton1_Click() Set shet =...

6
Hugo121
6561 / 2596 / 472
Регистрация: 19.10.2012
Сообщений: 7,801
28.06.2017, 23:00 2
Лучший ответ Сообщение было отмечено 0mega как решение

Решение

Как вариант.
0
Вложения
Тип файла: xls SlistaNaListH.xls (49.0 Кб, 19 просмотров)
0mega
6 / 7 / 1
Регистрация: 05.11.2013
Сообщений: 206
28.06.2017, 23:08  [ТС] 3
Игорь спасибо.
Сейчас нет возможности посмотреть отпишусь завтра
0
Hugo121
6561 / 2596 / 472
Регистрация: 19.10.2012
Сообщений: 7,801
28.06.2017, 23:10 4
Лучший ответ Сообщение было отмечено 0mega как решение

Решение

Упс, а переноса то тут и нет - это я о названии темы
Но заметьте - когда на лист никто не смотрит, там ничего нет! Это важно, если где-то будут ссылки на него. Но по представленному примеру всё корректно
1
0mega
6 / 7 / 1
Регистрация: 05.11.2013
Сообщений: 206
29.06.2017, 16:59  [ТС] 5
Игорь , спасибо
Все работает
P.S.
а нельзя ли после всех команд поставить апостраф и расписать что есть что ...

Добавлено через 5 минут
БЛИН ...
нажал "лучший ответ" машина почему-то переименовала в "это не ответ " ?!
Просьба к модераторам, если там для Нugo121 какие-то "косяки " приклеелись то уберите их пожалуйста
0
Hugo121
6561 / 2596 / 472
Регистрация: 19.10.2012
Сообщений: 7,801
29.06.2017, 20:01 6
Расписал. По ходу дела обнаружил глюк если меток нет вообще - пофиксил, бери этот код.
Visual Basic
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
26
27
28
29
30
31
32
33
34
35
36
'при активации листа
Private Sub Worksheet_Activate()
    Dim i&, ii&, x&, a
 
    'берём в массив дааные листа ниже шапки
    With Sheets("Oбщий").[b2].CurrentRegion
        a = .Offset(1).Value
        'если вообще есть метки (смотрим адрес первого столбца)
        If .Cells(1).Address(0, 0) Like "A#" Then
            'цикл по массиву
            For i = 1 To UBound(a)
                'если есть метка
                If Len(Trim(a(i, 1))) Then
                    'увеличиваем индекс
                    ii = ii + 1
                    'циклом по строке копируем данные текущей строки в строку с номером ii
                    'и стираем возможную метку
                    For x = 2 To UBound(a, 2): a(ii, x) = a(i, x): Next: a(ii, 1) = Empty
                End If
            Next
            'работа с диапазоном выгрузки
            With [a5].Resize(ii, UBound(a, 2))
                'ставим правильный формат столбцу с датами
                .Columns(5).NumberFormat = "m/d/yyyy"
                'выгружаем заполненную верхушку массива
                .Value = a
            End With
        End If
    End With
End Sub
 
'при деактивации листа
Private Sub Worksheet_Deactivate()
'очистка всего ниже шапки
    [b4].CurrentRegion.Offset(1).Clear
End Sub
0
0mega
6 / 7 / 1
Регистрация: 05.11.2013
Сообщений: 206
30.06.2017, 15:51  [ТС] 7
Спасибо
0
30.06.2017, 15:51
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2017, 15:51

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

Перенести на другой лист по названию второго столбца
Не получается никак разобраться самостоятельно: переносит куда только хочет... Пожалуйста,...

Макрос поиска критерий и их вставки в другой лист
я прошу помощьи Какой макрос нужно сделать чтобы он искал на листе критерии например 1.-date от...

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

Макрос копирования заданного диапазона значений на другой лист
Добрый день, форумчане. Вводная информация по задачке, которая поступила недавно в мой адрес:...


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

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

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