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

Вход

Регистрация

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

 

= Мир MS Excel/Заполнение меткой стоблца - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение меткой стоблца (Макросы/Sub)
Заполнение меткой стоблца
natas-r Дата: Пятница, 29.01.2021, 14:43 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Добрый день! Помогите написать небольшой макрос. Файл во вложении. Есть название каждого города. Нужно заполнить столбец желтым цветом так, как он заполнен сейчас в образце. Изначально столбец пустой.
К сообщению приложен файл: 8251314.xlsm (8.8 Kb)
 
Ответить
СообщениеДобрый день! Помогите написать небольшой макрос. Файл во вложении. Есть название каждого города. Нужно заполнить столбец желтым цветом так, как он заполнен сейчас в образце. Изначально столбец пустой.

Автор - natas-r
Дата добавления - 29.01.2021 в 14:43
Kuzmich Дата: Пятница, 29.01.2021, 15:19 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Почему город Новосибирск отделен двумя пустыми строками?
 
Ответить
СообщениеПочему город Новосибирск отделен двумя пустыми строками?

Автор - Kuzmich
Дата добавления - 29.01.2021 в 15:19
natas-r Дата: Пятница, 29.01.2021, 15:29 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Kuzmich, в реальном файле пустые строки в разном количестве только перед городом. После, сразу идет перечисление.
 
Ответить
СообщениеKuzmich, в реальном файле пустые строки в разном количестве только перед городом. После, сразу идет перечисление.

Автор - natas-r
Дата добавления - 29.01.2021 в 15:29
Kuzmich Дата: Пятница, 29.01.2021, 15:33 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код
Sub iTown()
Dim Rng As Range
Dim iTown As String
Dim iLastRow As Long
  Columns("C").ClearContents
  iLastRow = Cells(Rows.Count, "B").End(xlUp).Row
  For Each Rng In Range("B1:B" & iLastRow).SpecialCells(2, 1).Areas
    iTown = Split(Rng(0, 0), ":")(1)
    Rng.Offset(, 1) = iTown
  Next
End Sub
[/vba]
 
Ответить
Сообщение[vba]
Код
Sub iTown()
Dim Rng As Range
Dim iTown As String
Dim iLastRow As Long
  Columns("C").ClearContents
  iLastRow = Cells(Rows.Count, "B").End(xlUp).Row
  For Each Rng In Range("B1:B" & iLastRow).SpecialCells(2, 1).Areas
    iTown = Split(Rng(0, 0), ":")(1)
    Rng.Offset(, 1) = iTown
  Next
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 29.01.2021 в 15:33
natas-r Дата: Пятница, 29.01.2021, 15:36 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Kuzmich, Спасибо большое. Все работает.
 
Ответить
СообщениеKuzmich, Спасибо большое. Все работает.

Автор - natas-r
Дата добавления - 29.01.2021 в 15:36
natas-r Дата: Суббота, 30.01.2021, 18:38 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Добрый вечер.
Подскажите, пожалуйста, что означает аргумент у функции SpecialCells(2, 1). Цифры (2,1) это что?
 
Ответить
СообщениеДобрый вечер.
Подскажите, пожалуйста, что означает аргумент у функции SpecialCells(2, 1). Цифры (2,1) это что?

Автор - natas-r
Дата добавления - 30.01.2021 в 18:38
Kuzmich Дата: Суббота, 30.01.2021, 18:48 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
‘(2,1) – числовые данные
У вас в примере в столбце В числа
‘(2,2) – текстовые данные
 
Ответить
Сообщение‘(2,1) – числовые данные
У вас в примере в столбце В числа
‘(2,2) – текстовые данные

Автор - Kuzmich
Дата добавления - 30.01.2021 в 18:48
natas-r Дата: Суббота, 30.01.2021, 19:12 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Kuzmich, Спасибо, разобралась. В реальном файле помимо чисел, присутствовали и текстовые значения, подставив SpecialCells(2, 3), эта проблема была решена. Но у меня возникли сложности. Помимо метки городов, в столбце А существуют другие значения (улицы). Их не нужно вводить в столбец. Их нужно пропустить. Не подскажите, как можно решить эту задачу. Файл прикрепила во вложении.
К сообщению приложен файл: 7615758.xlsm (14.3 Kb)
 
Ответить
СообщениеKuzmich, Спасибо, разобралась. В реальном файле помимо чисел, присутствовали и текстовые значения, подставив SpecialCells(2, 3), эта проблема была решена. Но у меня возникли сложности. Помимо метки городов, в столбце А существуют другие значения (улицы). Их не нужно вводить в столбец. Их нужно пропустить. Не подскажите, как можно решить эту задачу. Файл прикрепила во вложении.

Автор - natas-r
Дата добавления - 30.01.2021 в 19:12
Kuzmich Дата: Суббота, 30.01.2021, 21:37 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Цитата
Помимо метки городов, в столбце А существуют другие значения (улицы)

[vba]
Код
'добавить строку 1, в А1 вставить слово Адрес
Sub iTownStreet()
Dim Rng As Range
Dim iTown As String
Dim iLastRow As Long
Dim FoundCell_1 As Range
Dim FoundCell_2 As Range
Dim FRow As Long
Dim FAdr As String
Dim ERow As Long
  Columns("C").ClearContents
  iLastRow = Cells(Rows.Count, "B").End(xlUp).Row
  'ищем в столбце А ячейку со словом Город:
Set FoundCell_1 = Columns(1).Find("Город:", , xlValues, xlPart)
   If Not FoundCell_1 Is Nothing Then
     FAdr = FoundCell_1.Address  'адрес первого вхождения
     FRow = FoundCell_1.Row
   Do
      iTown = Split(Cells(FRow, 1), ":")(1)
  'ищем в столбце А ячейку со словом Город: после предыдущего вхождения
      Set FoundCell_2 = Columns(1).Find("Город:", FoundCell_1)
       ERow = FoundCell_2.Row
        If FoundCell_2.Address = FAdr Then ERow = iLastRow
     For Each Rng In Range("B" & FRow & ":B" & ERow - 1).SpecialCells(2, 1).Areas
         Rng.Offset(, 1) = iTown
     Next
       Set FoundCell_1 = Columns(1).Find("Город:", FoundCell_1)
       FRow = FoundCell_1.Row
   Loop While FoundCell_1.Address <> FAdr
  End If
End Sub
[/vba]
 
Ответить
Сообщение
Цитата
Помимо метки городов, в столбце А существуют другие значения (улицы)

[vba]
Код
'добавить строку 1, в А1 вставить слово Адрес
Sub iTownStreet()
Dim Rng As Range
Dim iTown As String
Dim iLastRow As Long
Dim FoundCell_1 As Range
Dim FoundCell_2 As Range
Dim FRow As Long
Dim FAdr As String
Dim ERow As Long
  Columns("C").ClearContents
  iLastRow = Cells(Rows.Count, "B").End(xlUp).Row
  'ищем в столбце А ячейку со словом Город:
Set FoundCell_1 = Columns(1).Find("Город:", , xlValues, xlPart)
   If Not FoundCell_1 Is Nothing Then
     FAdr = FoundCell_1.Address  'адрес первого вхождения
     FRow = FoundCell_1.Row
   Do
      iTown = Split(Cells(FRow, 1), ":")(1)
  'ищем в столбце А ячейку со словом Город: после предыдущего вхождения
      Set FoundCell_2 = Columns(1).Find("Город:", FoundCell_1)
       ERow = FoundCell_2.Row
        If FoundCell_2.Address = FAdr Then ERow = iLastRow
     For Each Rng In Range("B" & FRow & ":B" & ERow - 1).SpecialCells(2, 1).Areas
         Rng.Offset(, 1) = iTown
     Next
       Set FoundCell_1 = Columns(1).Find("Город:", FoundCell_1)
       FRow = FoundCell_1.Row
   Loop While FoundCell_1.Address <> FAdr
  End If
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 30.01.2021 в 21:37
natas-r Дата: Воскресенье, 31.01.2021, 06:43 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Спасибо большое.
 
Ответить
СообщениеСпасибо большое.

Автор - natas-r
Дата добавления - 31.01.2021 в 06:43
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение меткой стоблца (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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