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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование диапазонов, если не пустые - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование диапазонов, если не пустые (Макросы/Sub)
Копирование диапазонов, если не пустые
CHEVRYACHOK Дата: Пятница, 29.07.2022, 02:24 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте! Помогите с макросом по копированию данных из диапазона (6 строк, 30 столбцов)
копировать по 6 строк, каждого столбца, если там есть данные (включая пустые ячейки) т.е если хоть в одной строке есть данные, то скопировать все 6
и не копировать, если там (в этих 6 строках) нет данных.
Копировать на соседний лист в первый столбец после данных, которые там могут быть.
К сообщению приложен файл: Macro.xlsx (14.8 Kb)
 
Ответить
СообщениеЗдравствуйте! Помогите с макросом по копированию данных из диапазона (6 строк, 30 столбцов)
копировать по 6 строк, каждого столбца, если там есть данные (включая пустые ячейки) т.е если хоть в одной строке есть данные, то скопировать все 6
и не копировать, если там (в этих 6 строках) нет данных.
Копировать на соседний лист в первый столбец после данных, которые там могут быть.

Автор - CHEVRYACHOK
Дата добавления - 29.07.2022 в 02:24
_Boroda_ Дата: Пятница, 29.07.2022, 11:11 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Sub tt()
    ar0_ = Sheets("pre").Range("D19:P24").Value
    n_ = UBound(ar0_) * UBound(ar0_, 2)
    ReDim ar1_(1 To n_, 1 To 1)
    For i = UBound(ar0_, 2) To 1 Step -1
        For j = UBound(ar0_) To 1 Step -1
            ar1_(UBound(ar0_) * (i - 1) + j, 1) = ar0_(j, i)
        Next j
    Next i
    With Sheets("TXT")
        r0_ = .Cells(.Rows.Count, 1).End(3).Row
        .Cells(r0_ + 1, 1).Resize(n_) = ar1_
    End With
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
Sub tt()
    ar0_ = Sheets("pre").Range("D19:P24").Value
    n_ = UBound(ar0_) * UBound(ar0_, 2)
    ReDim ar1_(1 To n_, 1 To 1)
    For i = UBound(ar0_, 2) To 1 Step -1
        For j = UBound(ar0_) To 1 Step -1
            ar1_(UBound(ar0_) * (i - 1) + j, 1) = ar0_(j, i)
        Next j
    Next i
    With Sheets("TXT")
        r0_ = .Cells(.Rows.Count, 1).End(3).Row
        .Cells(r0_ + 1, 1).Resize(n_) = ar1_
    End With
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 29.07.2022 в 11:11
CHEVRYACHOK Дата: Пятница, 29.07.2022, 12:39 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
hands то что нужно. Огромное спасибо!
 
Ответить
Сообщениеhands то что нужно. Огромное спасибо!

Автор - CHEVRYACHOK
Дата добавления - 29.07.2022 в 12:39
CHEVRYACHOK Дата: Пятница, 29.07.2022, 18:45 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, все работает, пока между столбцами с данными не появляется пустой столбец, тогда он тоже копируется, как 6 пустых строк, а не должен.
Это можно как-то исправить? Если у вас будет время.
 
Ответить
Сообщение_Boroda_, все работает, пока между столбцами с данными не появляется пустой столбец, тогда он тоже копируется, как 6 пустых строк, а не должен.
Это можно как-то исправить? Если у вас будет время.

Автор - CHEVRYACHOK
Дата добавления - 29.07.2022 в 18:45
CHEVRYACHOK Дата: Пятница, 29.07.2022, 18:49 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вот при таких условиях
К сообщению приложен файл: 2650045.xlsx (14.7 Kb)
 
Ответить
СообщениеВот при таких условиях

Автор - CHEVRYACHOK
Дата добавления - 29.07.2022 в 18:49
CHEVRYACHOK Дата: Пятница, 29.07.2022, 19:03 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вот при таких условиях
К сообщению приложен файл: 6400157.xlsx (14.7 Kb)
 
Ответить
СообщениеВот при таких условиях

Автор - CHEVRYACHOK
Дата добавления - 29.07.2022 в 19:03
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование диапазонов, если не пустые (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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