Olegator77 Пользователь Сообщений: 17 |
Доброго времени суток! |
vikttur Пользователь Сообщений: 47199 |
Не скажете, для каких данных и где писать макрос? |
Olegator77 Пользователь Сообщений: 17 |
Простите! Вот пример, в непустых ячейках нужно, что бы была “1”. Прикрепленные файлы
|
Sanja Пользователь Сообщений: 14849 |
В первой строке тоже? Согласие есть продукт при полном непротивлении сторон. |
Olegator77 Пользователь Сообщений: 17 |
Нет, первая строка “шапка”. |
Юрий М Модератор Сообщений: 60726 Контакты см. в профиле |
Таблицу будете выделять или нужно будет вычислять её диапазон? |
Olegator77 Пользователь Сообщений: 17 |
Нет выделять не хотелось бы, это умная таблица, будет. |
Olegator77 Пользователь Сообщений: 17 |
Но количество столбцов может добавиться. |
Sanja Пользователь Сообщений: 14849 |
#9 03.06.2017 00:16:07
Согласие есть продукт при полном непротивлении сторон. |
||||
gling Пользователь Сообщений: 4030 |
#10 03.06.2017 00:20:07
Здравствуйте. Выделите диапазон–нажмите F5–Выделить–Константы–ОК–жмете клавишу с цифрой 1–зажимаете клавишу Ctrl–жмете Enter. Должно проставить единички. Хотите макрос, тогда перед выполнением написанного включите запись макроса макрорекордером и выключите после нажатия Enter. На вкладке вставка –Фигуры–Нажимаете любую — рисуете её на листе–правой кнопкой мыши на неё–Назначить макрос–Макрос1–ОК. Всё и макрос и кнопка на которую жать готовы. Изменено: gling – 03.06.2017 00:23:44 |
||
Olegator77 Пользователь Сообщений: 17 |
Огромное, огромное спасибо, вариант Sanja более чем. Два дня мучался. gling тоже работает. Спасибо друзья прямо гора с плеч! Какие чудесные и умные люди. |
Olegator77 Пользователь Сообщений: 17 |
#12 28.06.2017 23:25:17 Друзья и коллеги, помогите решить ту же задачу только не в Таблице1, а в диапазоне ячеек.
|
||
Юрий М Модератор Сообщений: 60726 Контакты см. в профиле |
Olegator77, Вы видели, как код выглядит у других? Ищите такую кнопку и исправьте своё сообщение. |
Sanja Пользователь Сообщений: 14849 |
#14 29.06.2017 08:42:07 На все случаи жизни. Два последних варианта универсальны. Могут применяться как для непрерывных так и для несмежных диапазонов
Изменено: Sanja – 29.06.2017 09:36:54 Согласие есть продукт при полном непротивлении сторон. |
|
SAS888 Пользователь Сообщений: 757 |
#15 29.06.2017 10:02:54 Если значения ячеек таблицы не являются результатом функции (формулы), то можно существенно проще:
В квадратных скобках – диапазон(ы) ячеек. Чем шире угол зрения, тем он тупее. |
||
Olegator77 Пользователь Сообщений: 17 |
#16 29.06.2017 21:14:19 Огромное спасибо, честно говоря, предложенные решения прямо заставляют расширить возможности задачи. |
Елена_88 |
|
1 |
|
Поиск непустой ячейки в столбце11.02.2009, 07:42. Показов 19791. Ответов 6
Приветствую ! Добавлено через 20 минут 39 секунд |
Sasha_Smirnov 5561 / 1367 / 150 Регистрация: 08.02.2009 Сообщений: 4,107 Записей в блоге: 30 |
||||||||
12.02.2009, 01:31 |
2 |
|||||||
Вот из этой простенькой «сабрутины» я и предлагаю сваять нужную Вам функцию. Отзовитесь, ау!
Вот тут действительно функция! Функциональность её та же.
Это более-менее работоспособный вариант. Классики Си! Видите, сколько мороки на бэйсике? Где ж ваше веское слово… Ну хотя бы просто в поиске первой ячейки, с содержимым.
0 |
Супер-модератор 8783 / 2536 / 144 Регистрация: 07.03.2007 Сообщений: 11,873 |
|
15.02.2009, 05:11 |
3 |
а если перед поиском сделать фильтр. так ты найдешь адрес первой непустой ячейки. потом фильтр можно снять
0 |
5561 / 1367 / 150 Регистрация: 08.02.2009 Сообщений: 4,107 Записей в блоге: 30 |
|
15.02.2009, 15:49 |
4 |
Я и без фильтра нашёл: по контрол-F в Excel. И вообще, это Елена ищет. А форум что-то молчит, хоть и просмотров под полторы сотни.
0 |
5561 / 1367 / 150 Регистрация: 08.02.2009 Сообщений: 4,107 Записей в блоге: 30 |
|
18.02.2009, 20:23 |
5 |
Я и без фильтра нашёл: по контрол-F в Excel. А форум всё молчит, хоть и просмотров за две сотни.
0 |
5561 / 1367 / 150 Регистрация: 08.02.2009 Сообщений: 4,107 Записей в блоге: 30 |
|
05.03.2009, 16:26 |
6 |
Вот черновой вариант. Повторяю, поскольку на прежних сломалась кнопка запуска.
0 |
5561 / 1367 / 150 Регистрация: 08.02.2009 Сообщений: 4,107 Записей в блоге: 30 |
|
05.03.2009, 16:51 |
7 |
Или, скорее, так: назначенная макросу кнопка, при архивировании, теряет связь с макросом. Поэтому-то и прошу — поискать непустые ячейки на Си, ассемблере и пр. Не будешь же (в жизни) каждый раз объяснять пользователю, мол, жми альт-F8, щёлкай по имени, жми кнопку Выполнить, — нудно!
0 |
I have two columns of data, A and B. I want to find blank cells in column B and then copy data from corresponding cell in column A if A is not also blank.
asked Jun 18, 2013 at 14:00
2
I’d use SpecialCells:
Sub fillblanks()
Dim rngBlanks As Range
Dim rng As Range
Dim cl As Range
Set rng = ActiveSheet.UsedRange.Columns(2)
Set rngBlanks = rng.SpecialCells(xlCellTypeBlanks)
For Each cl In rngBlanks.Cells
With cl
If (.Value = "") And (.Offset(0, -1).Value <> "") Then
.Value = .Offset(0, -1).Value
End If
End With
Next
End Sub
answered Jun 18, 2013 at 14:26
David ZemensDavid Zemens
52.9k11 gold badges80 silver badges129 bronze badges
5
Sub Sample2()
On Error Resume Next
With Columns("B").SpecialCells(xlCellTypeBlanks)
.FormulaR1C1 = "=RC[-1]"
.Value = .Value
End With
End Sub
This doesn’t do EXACTLY as you ask as if does not skip a blank cell if the cell in A is blank, This is because I fail to see why replacing and blank with another blank would be an issue. if it is there is a very easy fix by simply modifying .FormulaR1C1 = "=RC[-1]"
to take into account the blanks.
answered Jun 18, 2013 at 14:30
user2140261user2140261
7,8357 gold badges32 silver badges45 bronze badges
No need for VBA. Select ColumnB, HOME > Editing, Find & Select, Go To Special…, Select Blanks (only),
=
←, Ctrl+Enter.
answered Sep 12, 2015 at 2:05
pnutspnuts
58.1k11 gold badges86 silver badges138 bronze badges
I need to create a macro in Excel which could check if cell contents are not blank then I needed a border.
I have tried this macro:
Sub testborder()
Dim rRng As Range
Set rRng = Sheet1.Range("B2:D5")
'Clear existing
rRng.Borders.LineStyle = xlNone
'Apply new borders
rRng.BorderAround xlContinuous
rRng.Borders(xlInsideHorizontal).LineStyle = xlContinuous
rRng.Borders(xlInsideVertical).LineStyle = xlContinuous
End Sub
pnuts
58.1k11 gold badges86 silver badges138 bronze badges
asked Aug 18, 2013 at 6:55
Try the following:
Sub testborder()
Dim rRng As Range, row As Range, c As Range
Set rRng = Sheet1.Range("B2:D5")
'Clear existing
rRng.Borders.LineStyle = xlNone
For Each row In rRng.Rows
For Each c In row.Columns
'Apply new borders
If (c.Value > "") Then c.BorderAround xlContinuous
Next c
Next row
End Sub
Or, with an even simpler loop:
For Each c In rRng.Cells
'Apply new borders
If (c.Value > "") Then c.BorderAround xlContinuous
Next c
answered Aug 18, 2013 at 7:12
Carsten MassmannCarsten Massmann
26.1k2 gold badges21 silver badges43 bronze badges
2
You can do whatever test you want. In this example, it checks to see if there is any text in each cell, if so it puts a border around it.
Sub BorderForNonEmpty()
Dim myRange As Range
Set myRange = Sheet1.Range("B2:D5")
' Clear existing borders
myRange.Borders.LineStyle = xlLineStyleNone
' Test each cell and put a border around it if it has content
For Each myCell In myRange
If myCell.Text <> "" Then
myCell.BorderAround (xlContinuous)
End If
Next
End Sub
answered Aug 18, 2013 at 7:19
RobMRobM
3,5902 gold badges18 silver badges14 bronze badges
Допустим, в диапазоне существует много несмежных пустых ячеек, и теперь вам нужно выбрать все ячейки с текущим содержимым. Как легко выбрать все непустые ячейки в Excel? Есть несколько уловок, чтобы решить эту проблему.
- Выберите непустые ячейки в диапазоне с помощью специальной функции Перейти
- Выберите непустые ячейки в диапазоне с помощью VBA
- Выберите непустые ячейки в диапазоне с помощью Kutools for Excel (только один шаг)
Выберите непустые ячейки в диапазоне с помощью специальной функции Перейти
Функция Go To Special может помочь нам выбрать непустые ячейки в выбранном диапазоне с помощью следующих шагов.
1. Выберите диапазон, из которого вы выберете все непустые ячейки, и нажмите F5 Клавиша открытия диалогового окна “Перейти”. Затем нажмите кнопку Особый кнопку, чтобы открыть диалоговое окно Перейти к специальному.
Внимание: Вы также можете открыть Перейти к специальному диалоговое окно, щелкнув Главная > Найти и выбрать > Перейти к специальному.
2. В диалоговом окне “Перейти к специальному” установите флажок Константы вариант, Номера вариант, Текст вариант, Логика вариант, и ошибки и нажмите OK кнопку.
Теперь вы увидите, что только непустые ячейки с содержимым выбраны в указанном диапазоне. См. Скриншоты ниже:
Один щелчок, чтобы выбрать все непустые ячейки в диапазоне в Excel
Kutools for ExcelАвтора Выбрать непустые ячейки Утилита может помочь вам быстро выбрать все непустые ячейки из выбранного диапазона одним щелчком мыши.
Выберите непустые ячейки в диапазоне с помощью VBA
Здесь мы предоставляем макрос VBA для выбора всех непустых ячеек из указанного диапазона. Пожалуйста, сделайте следующее:
1, нажмите другой + F11 клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.
2, Нажмите Вставить > Модули, а затем вставьте следующий код VBA в открывающееся окно модуля.
VBA: выберите непустые ячейки из диапазона
Sub SelectNonBlankCells()
Dim Rng As Range
Dim OutRng As Range
Dim InputRng As Range
Dim xTitle As String
On Error Resume Next
xTitle = Application.ActiveWindow.RangeSelection.Address
Set InputRng = Application.InputBox("Range :", "KutoolsforExcel", xTitle, Type:=8)
Set InputRng = Application.Intersect(InputRng, Application.ActiveSheet.UsedRange)
For Each Rng In InputRng
If Not Rng.Value = "" Then
If OutRng Is Nothing Then
Set OutRng = Rng
Else
Set OutRng = Application.Union(OutRng, Rng)
End If
End If
Next
If Not (OutRng Is Nothing) Then
OutRng.Select
End If
End Sub
3, нажмите F5 ключ или щелкните Run кнопку для запуска этого VBA.
4. В открывшемся диалоговом окне укажите диапазон, в котором вы будете выбирать только непустые ячейки, и нажмите кнопку OK кнопку.
Теперь все непустые ячейки выбираются сразу в указанном диапазоне.
Выберите непустые ячейки в диапазоне с помощью Kutools for Excel
Kutools for ExcelАвтора Выбрать непустые ячейки Утилита позволяет выбрать все непустые ячейки из определенного диапазона одним щелчком мыши.
Выберите диапазон, в котором вы выберете только непустые ячейки, и нажмите кнопку Кутулс > Выберите > Выбрать непустые ячейки.
Теперь все непустые ячейки в указанном диапазоне выбираются сразу.
Kutools for Excel – Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now
Демонстрация: выделение непустых ячеек в диапазоне в Excel
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (0)
Оценок пока нет. Оцените первым!