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

Вход

Регистрация

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

 

= Мир MS Excel/Заполнение пустых ячеек - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение пустых ячеек (Макросы/Sub)
Заполнение пустых ячеек
ant6729 Дата: Понедельник, 27.03.2017, 11:47 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Всем добрый день! опять

Нужно, чтобы функция добавляла в первую пустую ячейку(начиная сверху вниз) любое значение из первого столбца по даблклику

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

[vba]
Код

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

        Dim i&
'      
        Cancel = True
  
        i = Sheets("Лист1").Cells(Rows.Count, "A").End(xlUp).Row + 1

        Sheets("Лист1").Cells(i, 1).Value = Target.EntireRow.Value
End Sub
[/vba]

По идее нужно как-то через Like искать пустые и если пустая, то как -то дальше не понимаю.
Может, как-то еще.
К сообщению приложен файл: 12.xlsx (8.2 Kb)
 
Ответить
СообщениеВсем добрый день! опять

Нужно, чтобы функция добавляла в первую пустую ячейку(начиная сверху вниз) любое значение из первого столбца по даблклику

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

[vba]
Код

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

        Dim i&
'      
        Cancel = True
  
        i = Sheets("Лист1").Cells(Rows.Count, "A").End(xlUp).Row + 1

        Sheets("Лист1").Cells(i, 1).Value = Target.EntireRow.Value
End Sub
[/vba]

По идее нужно как-то через Like искать пустые и если пустая, то как -то дальше не понимаю.
Может, как-то еще.

Автор - ant6729
Дата добавления - 27.03.2017 в 11:47
ant6729 Дата: Понедельник, 27.03.2017, 12:27 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Есть блок выше
Потом пустые
Потом опять заполненные

1
1

2
2

33
33

и так далее

я 3 раза щелкаю, например, на 33

получается

1
1
33
2
2
33
33
33
33

То есть заполнение идет в первую пустую ячейку


Сообщение отредактировал ant6729 - Понедельник, 27.03.2017, 12:29
 
Ответить
СообщениеЕсть блок выше
Потом пустые
Потом опять заполненные

1
1

2
2

33
33

и так далее

я 3 раза щелкаю, например, на 33

получается

1
1
33
2
2
33
33
33
33

То есть заполнение идет в первую пустую ячейку

Автор - ant6729
Дата добавления - 27.03.2017 в 12:27
_Boroda_ Дата: Понедельник, 27.03.2017, 12:40 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Такой вариант
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If IsEmpty(Target) Then Exit Sub
    If Target.Column <> 1 Then Exit Sub
    Cancel = True
    If IsEmpty(Range("A1")) Then
        r_ = 1
    ElseIf IsEmpty(Range("A2")) Then
        r_ = 2
    Else
        r_ = Range("A1").End(xlDown).Row + 1
    End If
    Range("A" & r_) = Target.Value
End Sub
[/vba]
К сообщению приложен файл: 12_111.xlsm (13.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТакой вариант
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If IsEmpty(Target) Then Exit Sub
    If Target.Column <> 1 Then Exit Sub
    Cancel = True
    If IsEmpty(Range("A1")) Then
        r_ = 1
    ElseIf IsEmpty(Range("A2")) Then
        r_ = 2
    Else
        r_ = Range("A1").End(xlDown).Row + 1
    End If
    Range("A" & r_) = Target.Value
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 27.03.2017 в 12:40
sboy Дата: Понедельник, 27.03.2017, 12:45 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
i = Sheets("Лист1").Cells(Rows.Count, "A").End(xlUp).Row
q = Target.Value
Range("A1:A" & i).SpecialCells(xlCellTypeBlanks).Value = q
End Sub
[/vba]


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
i = Sheets("Лист1").Cells(Rows.Count, "A").End(xlUp).Row
q = Target.Value
Range("A1:A" & i).SpecialCells(xlCellTypeBlanks).Value = q
End Sub
[/vba]

Автор - sboy
Дата добавления - 27.03.2017 в 12:45
Kuzmich Дата: Понедельник, 27.03.2017, 12:49 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
sboy
Я бы в ваш код добавил строку
[vba]
Код
On Error Resume Next
[/vba]
т.к. при отсутствии пустых ячеек в диапазоне будет ошибка
 
Ответить
Сообщениеsboy
Я бы в ваш код добавил строку
[vba]
Код
On Error Resume Next
[/vba]
т.к. при отсутствии пустых ячеек в диапазоне будет ошибка

Автор - Kuzmich
Дата добавления - 27.03.2017 в 12:49
sboy Дата: Понедельник, 27.03.2017, 12:53 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Kuzmich, Мой код вообще не правильный) я не правильно понял задачу...


Яндекс: 410016850021169
 
Ответить
СообщениеKuzmich, Мой код вообще не правильный) я не правильно понял задачу...

Автор - sboy
Дата добавления - 27.03.2017 в 12:53
ant6729 Дата: Понедельник, 27.03.2017, 12:57 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Boroda, спасибо, работает...

Пойду разбираться

Sboy - у Вас система залпового огня...) Мне одиночными нужно
Но тоже возьму для вооружения
 
Ответить
СообщениеBoroda, спасибо, работает...

Пойду разбираться

Sboy - у Вас система залпового огня...) Мне одиночными нужно
Но тоже возьму для вооружения

Автор - ant6729
Дата добавления - 27.03.2017 в 12:57
ant6729 Дата: Понедельник, 27.03.2017, 13:36 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Все, вроде, понял, только

Подскажите, пожалуйста, на счёт

[vba]
Код
If Target.Column <> 1 Then Exit Sub не понял
[/vba]

Если значения целевого столбца не равны 1...? А если поставить 0 или 5 вместо 1, что-то поменяется?


Сообщение отредактировал ant6729 - Понедельник, 27.03.2017, 13:55
 
Ответить
СообщениеВсе, вроде, понял, только

Подскажите, пожалуйста, на счёт

[vba]
Код
If Target.Column <> 1 Then Exit Sub не понял
[/vba]

Если значения целевого столбца не равны 1...? А если поставить 0 или 5 вместо 1, что-то поменяется?

Автор - ant6729
Дата добавления - 27.03.2017 в 13:36
Pelena Дата: Понедельник, 27.03.2017, 13:41 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
значения целевого столбца не равны 1...?

Нет, это означает, что активная ячейка не в первом столбце

И код надо оформлять тегами (кнопка #)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
значения целевого столбца не равны 1...?

Нет, это означает, что активная ячейка не в первом столбце

И код надо оформлять тегами (кнопка #)

Автор - Pelena
Дата добавления - 27.03.2017 в 13:41
_Boroda_ Дата: Понедельник, 27.03.2017, 13:45 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Target.Column - это столбец той ячейки, по которой мы сделали даблклик. Если он не равен 1 (1 - это первый столбец, столбец А), то выход из макроса


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеTarget.Column - это столбец той ячейки, по которой мы сделали даблклик. Если он не равен 1 (1 - это первый столбец, столбец А), то выход из макроса

Автор - _Boroda_
Дата добавления - 27.03.2017 в 13:45
ant6729 Дата: Понедельник, 27.03.2017, 13:55 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Спасибо)
 
Ответить
СообщениеСпасибо)

Автор - ant6729
Дата добавления - 27.03.2017 в 13:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение пустых ячеек (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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