Страницы: 1
RSS
Как в рамках выделенного диапазона определить столбец в котором нужно изменить данные
 
Ребят, научите работать с выделенным диапазоном.

Есть задача, с множеством условий, мне нужно понять как задавать условие в рамках выделенного диапазона(диапазон динамический).

Пример:

Пользователь выделяет диапазон, нажимает на кнопку "поехали" в первом столбце выделенного диапазона должны удалиться гиперссылки и данные должны преобразоваться в текст, я написала так:
Код
Sub Кнопка2_Щелчок()
Dim cCell As Range
For Each cCell In ActiveWindow.RangeSelection
Application.CutCopyMode = False
Selection.Hyperlinks.Delete
Selection.NumberFormat = "General"
Selection.Value = Selection.Value
    
Next

End Sub
но тут нет ограничения работы только в первом столбце он работает по всему выделенному диапазону, как мне сделать, чтобы цикл отработал только по выделенному диапазону первого столбца?

Пример прикрепляю, модуль 5
 
Гиперссылки должны всегда удаляться в ПЕРВОМ столбце выделенного диапазона?
Вообще, обращение к определенному столбцу (или определенной строке) выделенного диапазона можно так организовать:
Код
 For each oCell in Selection.Columns(1)
или
For each oCell in Selection.Rows(1)
Изменено: Пытливый - 31.10.2017 16:10:26
Кому решение нужно - тот пример и рисует.
 
Пытливый, да только по первому...таааак..сейчас попробую
 
Пытливый, так, не очень понятно, а мне нужен дополнительный цикл

Код
For each 

я вот так написала

Код
Sub Кнопка2_Щелчок()
Dim cCell As Range
For Each cCell In ActiveWindow.RangeSelection.column(1)
Application.CutCopyMode = False
Selection.Hyperlinks.Delete
Selection.NumberFormat = "General"
Selection.Value = Selection.Value
     
Next
 
End Sub

но наверное это бред

Изменено: Lilo_255 - 31.10.2017 16:16:27
 
Код
For Each cCell In ActiveWindow.RangeSelection.column(1)

Много лишнего. Если работаем с активным листом - его можно не прописывать. Columns - множество столбцов в выделении, поэтому надо с s на конце - множественное число. А из этого множества выбираем при помощи индекса 1 нужный.
Код
For Each cCell In Selection.Сolumns(1)
Кому решение нужно - тот пример и рисует.
 
Пытливый, упала ошибка
 
Код
With Selection.Columns(1)
.Hyperlinks.Delete
End With

Еще проще:
Код
Selection.Columns(1).Hyperlinks.Delete
Изменено: Пытливый - 31.10.2017 16:31:45
Кому решение нужно - тот пример и рисует.
 
Пытливый,спасибо я разобралась..вот так нужно
Код
For Each cCell In ActiveWindow.RangeSelection.columns(1)
Изменено: Lilo_255 - 31.10.2017 16:30:18
 
Пытливый, спасибо большое за понятные комментарии и разъяснения!!!
Страницы: 1
Наверх