С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/74: Рейтинг темы: голосов - 74, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 5

Поиск первой пустой ячейки в строке

23.01.2013, 15:35. Показов 15792. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть такова:
Есть два листа в Excel ("Данные" и "Таблица") необходимо перенести данные из столбца "N3:N7" листа "данные" сначала в столбец "В3:B7" затем в столбец "С3: C7" затем в столбец "D3: D7" и т.д. листа "таблица" так как значения в ячейках "N3:N7" будут меняться.
Пробовал написать макрос, я честно говоря чайник в этом, излазил кучу форумов и ссылок и так и не нашел как же можно скопировать данные в первую пустую ячейку строки 3 например, в моем случае.
Заранее огромное спасибо!
P.S. файлик пользуется динамическим обменом данных (ДРВ)
Вложения
Тип файла: xls Пример.xls (56.5 Кб, 105 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.01.2013, 15:35
Ответы с готовыми решениями:

Поиск первой пустой ячейки в столбце А
Помогите, пожалуйста, новичку. Есть таблица, в которую постоянно вручную добавляются заполненные строки (от 1 до 10000), как макросом найти...

Поиск первой пустой ячейки в отфильтрованном столбце Excel
Всем привет. Ну собственно вопрос в заголовке темы. Имеется таблица с 5 столбцами и N количеством строк. Допустим я применяю фильтр...

Допилить код, вставляющий значения с первой пустой ячейки
Всем доброго времени суток! Ниид хэлп! есть код (тут представлен фрагмент отражающий всю суть кода): Option Explicit Sub qwr() ...

9
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
23.01.2013, 16:32
Код, который ищет на первом листе в третьей строке первую пустую ячейку:
Кликните здесь для просмотра всего текста
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
Sub Макрос1()
    
    Dim shSheet_1 As Excel.Worksheet
    Dim myLastCell As Excel.Range
    
    '1. Даём листу имя "shSheet_1". Это имя будем использовать в коде
        'для обращения к листу. Так удобно писать код.
    Set shSheet_1 = Worksheets(1)
    
    '2. Ищем в третьей строке последнюю ячейку с данными.
    'What:="?" - знак вопроса - это специальный символ в данном случае.
    'SearchDirection:=xlPrevious - поиск с конца в начало.
    'Если ячейка будет найдена, то даём ей имя "myLastCell".
    Set myLastCell = shSheet_1.Rows(3).Find(What:="?", LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
        MatchCase:=False, SearchFormat:=False)
    
    '3. Смотрим, была ли найдена хоть какая-то ячейка.
    'Если не найдена ячейка, т.е. вся третья строка пустая
        '(если нет скрытых столбцов), то в переменной "myLastCell"
        'будет слово "Nothing".
    If Not myLastCell Is Nothing Then
    
        '4. Здесь делаем необходимые действия с пустой ячейкой.
        'Чтобы получить доступ к ячейке справа, которая является пустой,
            'используем команду "Offset".
        'Я, например, сделаю эту ячейку активной.
        myLastCell.Offset(0, 1).Activate
 
    End If
    
End Sub



Примечания
  1. В коде использована команда Find. Команда "Find" в Excel связана с окном "Найти и заменить". Поэтому в коде надо указывать все параметры команды "Find", чтобы на работу кода не повлияли настройки из окна "Найти и заменить". Из параметров я не использую только параметр "After".
  2. Ещё команда "Find" чувствительна к объединённым ячейкам и может не дать результата, если на листе будут объединённые ячейки.
0
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 5
23.01.2013, 16:48  [ТС]
Спасибо за ответ.
Но как теперь в эту активную ячейку вставить то, что мне нужно?
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
23.01.2013, 16:52
птичка_ворон, используйте команду Paste.
0
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 5
23.01.2013, 17:01  [ТС]
Ругается на строку myLastCell.Offset(0, 1).Activate
метод Activate из класса range завершен неверно
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,576
23.01.2013, 18:32
Пункт 1

В сообщении #4 я ошибся. Я имел ввиду команду Copy.


Пункт 2

Цитата Сообщение от птичка_ворон Посмотреть сообщение
Ругается на строку myLastCell.Offset(0, 1).Activate
метод Activate из класса range завершен неверно
я просто для примера привёл команду Activate. Вам же не нужно делать активной какую-то ячейку. Вы вместо команды Activate используйте свою команду.
0
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 5
24.01.2013, 09:26  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub 1()
 
Range("N3:N7").Select
    Selection.Copy
        Dim shSheet_1 As Excel.Worksheet
    Dim myLastCell As Excel.Range
    
    Set shSheet_1 = Worksheets(1)
        Set myLastCell = shSheet_1.Rows(3).Find(What:="?", LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
        MatchCase:=False, SearchFormat:=False)
       If Not myLastCell Is Nothing Then
    
             myLastCell.Offset(0, 1).Paste
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
     End If
    
End Sub
Опять ругается на ту же строку myLastCell.Offset(0, 1).Paste
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
24.01.2013, 09:53
А на Sub 1() не ругается?

Добавлено через 5 минут
Можно сделать одной командой
Visual Basic
1
2
Sheets("Таблица").Cells(3, Columns.Count).End(xlToLeft).Offset(, 1).Resize(5).Value = _
    Sheets("Данные").Range("N3:N7").Value
1
0 / 0 / 0
Регистрация: 28.11.2012
Сообщений: 5
24.01.2013, 09:57  [ТС]
Огромное спасибо тебе
0
17 / 1 / 2
Регистрация: 20.04.2016
Сообщений: 120
30.03.2017, 15:36
Добрый день.
Не могу разобраться с макросом. Уже неделю по форумам смотрю.
Нужно просто найти пустую ячейку в первой строке.
Как это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2017, 15:36
Помогаю со студенческими работами здесь

Поиск последней пустой ячейки
Доброго времени суток. Необходим макрос для excel следующего функционала: есть выпадающий список в клетке D4 в котором отображаются все...

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

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

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

Поиск вверх первой пустой ячейки в столбце
Добрый день! Есть файл с двумя листами. На листе один задан один столбец - список артикулов, к которым нужно подставить данные (название...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru