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

Вход

Регистрация

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

 

= Мир MS Excel/Выборка из диапазона и копирование данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Выборка из диапазона и копирование данных (Формулы/Formulas)
Выборка из диапазона и копирование данных
Marina83 Дата: Пятница, 14.01.2022, 13:27 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Добрый день! Подскажите, пожалуйста, как реализовать.

Есть диапазон значений в столбце А, из него нужно выделить мелкие диапазоны с захватом от жёлтой ячейки 10 значений вверх только при условии, если под жёлтой ячейкой стоит синяя, и затем поставить эти столбцы рядом с друг с другом.

Во вложении, как должно получиться.

P.S. Как ниже сказали, нужен макрос, так нужно ориентироваться на цвет ячеек
К сообщению приложен файл: 6511162.xlsx(9.9 Kb)


Сообщение отредактировал Marina83 - Пятница, 14.01.2022, 13:55
 
Ответить
СообщениеДобрый день! Подскажите, пожалуйста, как реализовать.

Есть диапазон значений в столбце А, из него нужно выделить мелкие диапазоны с захватом от жёлтой ячейки 10 значений вверх только при условии, если под жёлтой ячейкой стоит синяя, и затем поставить эти столбцы рядом с друг с другом.

Во вложении, как должно получиться.

P.S. Как ниже сказали, нужен макрос, так нужно ориентироваться на цвет ячеек

Автор - Marina83
Дата добавления - 14.01.2022 в 13:27
Nic70y Дата: Пятница, 14.01.2022, 13:45 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 7725
Репутация: 1853 ±
Замечаний: 0% ±

Excel 2010
если ориентироваться на цвет - нужен макрос, если на значение,
можно массивной (в красных ячейках) + обычные
Код
=НАИМЕНЬШИЙ(ЕСЛИ($B$1:$B$75&$B$2:$B$76="aaff";СТРОКА($B$1:$B$75));СТОЛБЕЦ(A1)/2+0,5)
К сообщению приложен файл: 45.xlsx(10.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениеесли ориентироваться на цвет - нужен макрос, если на значение,
можно массивной (в красных ячейках) + обычные
Код
=НАИМЕНЬШИЙ(ЕСЛИ($B$1:$B$75&$B$2:$B$76="aaff";СТРОКА($B$1:$B$75));СТОЛБЕЦ(A1)/2+0,5)

Автор - Nic70y
Дата добавления - 14.01.2022 в 13:45
Marina83 Дата: Пятница, 14.01.2022, 13:48 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
если ориентироваться на цвет - нужен макрос, если на значение,
можно массивной (в красных ячейках) + обычные


Да, нужно ориентироваться на цвет ячейки, я не указала, извините. В данном случае надо отталкиваться от жёлтой, но только если под ней есть синяя.


Сообщение отредактировал Marina83 - Пятница, 14.01.2022, 13:48
 
Ответить
Сообщение
если ориентироваться на цвет - нужен макрос, если на значение,
можно массивной (в красных ячейках) + обычные


Да, нужно ориентироваться на цвет ячейки, я не указала, извините. В данном случае надо отталкиваться от жёлтой, но только если под ней есть синяя.

Автор - Marina83
Дата добавления - 14.01.2022 в 13:48
Nic70y Дата: Пятница, 14.01.2022, 14:38 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 7725
Репутация: 1853 ±
Замечаний: 0% ±

Excel 2010
ну по цвету, так по цвету
[vba]
Код
Sub u_759()
    Application.ScreenUpdating = False
    e = Cells(10, Columns.Count).End(xlToLeft).Column
    If e > 9 Then Range(Cells(1, 10), Cells(10, e)).Clear
    u = Cells(Rows.Count, "a").End(xlUp).Row
    For Each v In Range("b1:b" & u)
        w = v.Interior.Color
        x = v.Offset(1, 0).Interior.Color
        If w = 65535 And x = 15773696 Then
            y = v.Row
            a = y - 9
            b = Application.Max(a, 1)
            c = 1
            If a <= 0 Then c = 11 - y
            d = Application.Max(Cells(10, Columns.Count).End(xlToLeft).Column + 1, 10)
            Range("a" & b & ":b" & y).Copy Cells(c, d)
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 18.xlsm(20.1 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениену по цвету, так по цвету
[vba]
Код
Sub u_759()
    Application.ScreenUpdating = False
    e = Cells(10, Columns.Count).End(xlToLeft).Column
    If e > 9 Then Range(Cells(1, 10), Cells(10, e)).Clear
    u = Cells(Rows.Count, "a").End(xlUp).Row
    For Each v In Range("b1:b" & u)
        w = v.Interior.Color
        x = v.Offset(1, 0).Interior.Color
        If w = 65535 And x = 15773696 Then
            y = v.Row
            a = y - 9
            b = Application.Max(a, 1)
            c = 1
            If a <= 0 Then c = 11 - y
            d = Application.Max(Cells(10, Columns.Count).End(xlToLeft).Column + 1, 10)
            Range("a" & b & ":b" & y).Copy Cells(c, d)
        End If
    Next
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 14.01.2022 в 14:38
Marina83 Дата: Пятница, 14.01.2022, 14:48 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
ну по цвету, так по цвету


О, спасибо огромное! То, что нужно!

Только ещё вопрос - как менять количество захватываемых строк в диапазоне? Меняю в скрипте 10 на 15, и не получается.

   If w = 65535 And x = 15773696 Then


Здесь меняются цвета ячеек, верно?

И как изменить количество строк в диапазоне? На примере 75, а мне нужно, например, 15000


Сообщение отредактировал Marina83 - Пятница, 14.01.2022, 14:51
 
Ответить
Сообщение
ну по цвету, так по цвету


О, спасибо огромное! То, что нужно!

Только ещё вопрос - как менять количество захватываемых строк в диапазоне? Меняю в скрипте 10 на 15, и не получается.

   If w = 65535 And x = 15773696 Then


Здесь меняются цвета ячеек, верно?

И как изменить количество строк в диапазоне? На примере 75, а мне нужно, например, 15000

Автор - Marina83
Дата добавления - 14.01.2022 в 14:48
Nic70y Дата: Пятница, 14.01.2022, 14:53 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 7725
Репутация: 1853 ±
Замечаний: 0% ±

Excel 2010
Здесь меняются цвета ячеек, верно?
верно
как менять количество захватываемых строк в диапазоне?

If e > 9 Then Range(Cells(1, 10), Cells(10, e)).Clear
вторая 10 на 15
a = y - 9
9 на 14
If a <= 0 Then c = 11 - y
11 на 16
d = Application.Max(Cells(10
10 (только первая) на 15


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Пятница, 14.01.2022, 14:56
 
Ответить
Сообщение
Здесь меняются цвета ячеек, верно?
верно
как менять количество захватываемых строк в диапазоне?

If e > 9 Then Range(Cells(1, 10), Cells(10, e)).Clear
вторая 10 на 15
a = y - 9
9 на 14
If a <= 0 Then c = 11 - y
11 на 16
d = Application.Max(Cells(10
10 (только первая) на 15

Автор - Nic70y
Дата добавления - 14.01.2022 в 14:53
Marina83 Дата: Пятница, 14.01.2022, 14:57 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
как менять количество захватываемых строк в диапазоне?


То есть, в столбце может быть и 15000 ячеек. Как изменить, чтобы захватывало весь лист?
 
Ответить
Сообщение
как менять количество захватываемых строк в диапазоне?


То есть, в столбце может быть и 15000 ячеек. Как изменить, чтобы захватывало весь лист?

Автор - Marina83
Дата добавления - 14.01.2022 в 14:57
Nic70y Дата: Пятница, 14.01.2022, 15:02 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 7725
Репутация: 1853 ±
Замечаний: 0% ±

Excel 2010
Marina83, я думал вам нужно изменять кол-во копируемых,
макрос обрабатывает диапазон, по нижнюю заполненную ячейку столбца A
u = Cells(Rows.Count, "a").End(xlUp).Row


ЮMoney 41001841029809
 
Ответить
СообщениеMarina83, я думал вам нужно изменять кол-во копируемых,
макрос обрабатывает диапазон, по нижнюю заполненную ячейку столбца A
u = Cells(Rows.Count, "a").End(xlUp).Row

Автор - Nic70y
Дата добавления - 14.01.2022 в 15:02
Marina83 Дата: Пятница, 14.01.2022, 15:05 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
я думал вам нужно изменять кол-во копируемых


Да, мне и то, и другое нужно было)))
Благодарю Вас за помощь!
Огромное спасибо!
hands
 
Ответить
Сообщение
я думал вам нужно изменять кол-во копируемых


Да, мне и то, и другое нужно было)))
Благодарю Вас за помощь!
Огромное спасибо!
hands

Автор - Marina83
Дата добавления - 14.01.2022 в 15:05
Nic70y Дата: Пятница, 14.01.2022, 15:07 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 7725
Репутация: 1853 ±
Замечаний: 0% ±

Excel 2010
сделал вам с переменным кол-вом копируемых, см ячейку I1
К сообщению приложен файл: 18-1-.xlsm(20.3 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениесделал вам с переменным кол-вом копируемых, см ячейку I1

Автор - Nic70y
Дата добавления - 14.01.2022 в 15:07
Marina83 Дата: Пятница, 14.01.2022, 15:35 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
сделал вам с переменным кол-вом копируемых, см ячейку I1


Спасибо ещё раз! :)
 
Ответить
Сообщение
сделал вам с переменным кол-вом копируемых, см ячейку I1


Спасибо ещё раз! :)

Автор - Marina83
Дата добавления - 14.01.2022 в 15:35
Marina83 Дата: Понедельник, 17.01.2022, 15:09 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Здравствуйте!
Пожалуйста, подскажите, как побороть.
При вставке значений из другого файла ячейки с заливкой не распознаются.
Можно ли сделать в макросе так, чтобы принцип работы был тот же, но не напрямую с цветом, а со значениями этого цвета?
Например, синие ячейки - это 0, жёлтые - 1.
К сообщению приложен файл: 111.xlsm(28.4 Kb)


Сообщение отредактировал Marina83 - Понедельник, 17.01.2022, 15:16
 
Ответить
СообщениеЗдравствуйте!
Пожалуйста, подскажите, как побороть.
При вставке значений из другого файла ячейки с заливкой не распознаются.
Можно ли сделать в макросе так, чтобы принцип работы был тот же, но не напрямую с цветом, а со значениями этого цвета?
Например, синие ячейки - это 0, жёлтые - 1.

Автор - Marina83
Дата добавления - 17.01.2022 в 15:09
Nic70y Дата: Понедельник, 17.01.2022, 15:12 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 7725
Репутация: 1853 ±
Замечаний: 0% ±

Excel 2010
ячейки с заливкой не распознаются
там точно заливка? может условное форматирование?


ЮMoney 41001841029809
 
Ответить
Сообщение
ячейки с заливкой не распознаются
там точно заливка? может условное форматирование?

Автор - Nic70y
Дата добавления - 17.01.2022 в 15:12
Marina83 Дата: Понедельник, 17.01.2022, 15:18 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
там точно заливка? может условное форматирование?


Для проверки на Листе 1 в столбце B именно ручная заливка.
А мы вставляем из другого файла, а там, возможно, было условное форматирование.
Не читается столбец с данными, которые на соседнем листе "Для вставки"


Сообщение отредактировал Marina83 - Понедельник, 17.01.2022, 15:19
 
Ответить
Сообщение
там точно заливка? может условное форматирование?


Для проверки на Листе 1 в столбце B именно ручная заливка.
А мы вставляем из другого файла, а там, возможно, было условное форматирование.
Не читается столбец с данными, которые на соседнем листе "Для вставки"

Автор - Marina83
Дата добавления - 17.01.2022 в 15:18
Nic70y Дата: Понедельник, 17.01.2022, 15:29 | Сообщение № 15
Группа: Друзья
Ранг: Экселист
Сообщений: 7725
Репутация: 1853 ±
Замечаний: 0% ±

Excel 2010
да, действительно УФ
[vba]
Код
       w = v.DisplayFormat.Interior.Color
        x = v.Offset(1, 0).DisplayFormat.Interior.Color
[/vba]и столбец A пустой[vba]
Код
u = Cells(Rows.Count, "b").End(xlUp).Row
[/vba]
Можно ли сделать в макросе так,
покажите в файле, как это вы хотите видеть


ЮMoney 41001841029809
 
Ответить
Сообщениеда, действительно УФ
[vba]
Код
       w = v.DisplayFormat.Interior.Color
        x = v.Offset(1, 0).DisplayFormat.Interior.Color
[/vba]и столбец A пустой[vba]
Код
u = Cells(Rows.Count, "b").End(xlUp).Row
[/vba]
Можно ли сделать в макросе так,
покажите в файле, как это вы хотите видеть

Автор - Nic70y
Дата добавления - 17.01.2022 в 15:29
Marina83 Дата: Понедельник, 17.01.2022, 15:37 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
покажите в файле, как это вы хотите видеть


Прикрепляю, столбец B нечитаем
К сообщению приложен файл: 5558500.xlsm(27.4 Kb)


Сообщение отредактировал Marina83 - Понедельник, 17.01.2022, 15:37
 
Ответить
Сообщение
покажите в файле, как это вы хотите видеть


Прикрепляю, столбец B нечитаем

Автор - Marina83
Дата добавления - 17.01.2022 в 15:37
Nic70y Дата: Понедельник, 17.01.2022, 16:03 | Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 7725
Репутация: 1853 ±
Замечаний: 0% ±

Excel 2010
столбец B нечитаем
на этот вопрос я уже ответил (см. файл)
я спросил
Можно ли сделать в макросе так, чтобы принцип работы был тот же, но не напрямую с цветом, а со значениями этого цвета?

покажите в файле, как это вы хотите видеть
К сообщению приложен файл: 42.xlsm(26.9 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Понедельник, 17.01.2022, 16:04
 
Ответить
Сообщение
столбец B нечитаем
на этот вопрос я уже ответил (см. файл)
я спросил
Можно ли сделать в макросе так, чтобы принцип работы был тот же, но не напрямую с цветом, а со значениями этого цвета?

покажите в файле, как это вы хотите видеть

Автор - Nic70y
Дата добавления - 17.01.2022 в 16:03
Marina83 Дата: Понедельник, 17.01.2022, 16:26 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
покажите в файле, как это вы хотите видеть


Вот именно так, как у Вас в файле :)
Только при вставке новых значений выдаёт ошибку 1004
К сообщению приложен файл: 3400165.xlsm(27.4 Kb)
 
Ответить
Сообщение
покажите в файле, как это вы хотите видеть


Вот именно так, как у Вас в файле :)
Только при вставке новых значений выдаёт ошибку 1004

Автор - Marina83
Дата добавления - 17.01.2022 в 16:26
Nic70y Дата: Понедельник, 17.01.2022, 16:31 | Сообщение № 19
Группа: Друзья
Ранг: Экселист
Сообщений: 7725
Репутация: 1853 ±
Замечаний: 0% ±

Excel 2010
Marina83, вот эта строка[vba]
Код
f = Range("i1").Value
[/vba]не просто так написана, это ссылка на ячейку I1,
а вы сместили ее в G1


ЮMoney 41001841029809
 
Ответить
СообщениеMarina83, вот эта строка[vba]
Код
f = Range("i1").Value
[/vba]не просто так написана, это ссылка на ячейку I1,
а вы сместили ее в G1

Автор - Nic70y
Дата добавления - 17.01.2022 в 16:31
Marina83 Дата: Понедельник, 17.01.2022, 18:11 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 33
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
не просто так написана, это ссылка на ячейку I1,
а вы сместили ее в G1


Да, точно. И ещё вопрос - как убрать столбцы с цифрами (которые из столбца А) после нажатия на "Кнопку"? Чтобы выборки были просто рядом друг с другом.
Иногда они будут нужны, иногда нет...


Сообщение отредактировал Marina83 - Понедельник, 17.01.2022, 18:15
 
Ответить
Сообщение
не просто так написана, это ссылка на ячейку I1,
а вы сместили ее в G1


Да, точно. И ещё вопрос - как убрать столбцы с цифрами (которые из столбца А) после нажатия на "Кнопку"? Чтобы выборки были просто рядом друг с другом.
Иногда они будут нужны, иногда нет...

Автор - Marina83
Дата добавления - 17.01.2022 в 18:11
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Выборка из диапазона и копирование данных (Формулы/Formulas)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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