powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выделение строки
18 сообщений из 18, страница 1 из 1
Выделение строки
    #33834675
Gadeyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имею такой вот поиск:
Dim rng As Range
Set rng = ActiveSheet.Range("B1:B1500").Find(What:="бла-бла", LookIn:=xlValues)
rng.Activate
Как сделать чтоб rng выделял не одну найденную ячейку со значением "бла-бла", а полностью строку и копировал ее в буфер???
...
Рейтинг: 0 / 0
Выделение строки
    #33834763
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    Dim rng As Range
    
    Set rng = ActiveSheet.Range("B1:B1500").Find( _
      What:="бла-бла", _
      LookIn:=xlValues)
    
    With rng.EntireRow
        .Select
        .Copy
    End With
...
Рейтинг: 0 / 0
Выделение строки
    #33834941
Gadeyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сенкаю тебе Ashton, работает. Отсюда возникает еще вопрос, а можно ли заместо "бла-бла" вставить ссылку на ячейку из другого листа ????
...
Рейтинг: 0 / 0
Выделение строки
    #33835014
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему бы и нет.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    Dim rng As Range
    
    Set rng = Worksheets("Лист1").Range("B1:B1500").Find( _
      What:=Worksheets("Лист2").Range("A1"), _
      LookIn:=xlValues)
    
    With rng.EntireRow
        .Select
        .Copy
    End With
...
Рейтинг: 0 / 0
Выделение строки
    #33859143
Gadeyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, но если в диапазоне поиска Worksheets("Лист1").Range("B1:B1500") несуществует значения Worksheets("Лист2").Range("A1"), то скрипт выдает ошибку вот в этом месте With rng.EntireRow.
В чем трабла то ???
...
Рейтинг: 0 / 0
Выделение строки
    #33859207
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трабла в том, что думать не умеешь. Тебе показали куда копать, вот и копай.
Если ничего не найдено, это означает что ты не сможешь работать с тем чего нету. После поиска, обязательно надо проверять а найдено ли то что искали. Вот если найдено тогда можно копировать, а если не найдено, то что копировать то?
...
Рейтинг: 0 / 0
Выделение строки
    #33859219
Gadeyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извеняйте за ламерство, но не могу я сам догнать.
...
Рейтинг: 0 / 0
Выделение строки
    #33859247
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подведи курсор в редакторе кода на слово Find. Нажми F1. Читай.
...
Рейтинг: 0 / 0
Выделение строки
    #33859528
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl дело говорит. В справке есть ответы почти на все вопросы.

FindFinds specific information in a range, and returns a Range object that represents the first cell where that information is found. Returns Nothing if no match is found .

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Dim rng As Range
    
    Set rng = Worksheets("Лист1").Range("B1:B1500").Find( _
      What:=Worksheets("Лист2").Range("A1"), _
      LookIn:=xlValues)
    
    If Not rng Is Nothing Then
        With rng.EntireRow
            .Select
            .Copy
        End With
    End If
...
Рейтинг: 0 / 0
Выделение строки
    #33860568
Gadeyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем огромное человеческое спасибо! Насчет справки - просто там все не по русски, если дадите ссылку на русский хелп, будет клево. Еще раз всех благодарю.
...
Рейтинг: 0 / 0
Выделение строки
    #33862811
Gadeyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Ashton, можно я еще раз тебя помучаю глупыми вопросами.

Опять же по нашему скрипту
If Not rng Is Nothing Then
With rng.EntireRow
.Select
.Copy
End With

Вот после того как строка скопировалась в буфер мне нужно вставить ее на другой лист например Worksheets("Лист3"), в ячейку Range("A1").

Хоть убейте не могу догнать и справка не помогает :(
...
Рейтинг: 0 / 0
Выделение строки
    #33862830
Gadeyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GadeykaУважаемый Ashton, можно я еще раз тебя помучаю глупыми вопросами.

Опять же по нашему скрипту
If Not rng Is Nothing Then
With rng.EntireRow
.Select
.Copy
End With

Вот после того как строка скопировалась в буфер мне нужно вставить ее на другой лист например Worksheets("Лист3"), в ячейку Range("A1").

Хоть убейте не могу догнать и справка не помогает :(

Еще небольшая поправка, желательно обойти метод Sheets("Лист3").Activate. Для того что бы окна моргали. Можно ли так сделать ????
...
Рейтинг: 0 / 0
Выделение строки
    #33862888
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно можно. Вам всего лишь нужно было бы указать параметр Destination метода Copy.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Dim rng As Range
    
    Set rng = Worksheets("Лист1").Range("B1:B1500").Find( _
      What:=Worksheets("Лист2").Range("A1"), _
      LookIn:=xlValues)
    
    If Not rng Is Nothing Then
        With rng.EntireRow
            .Select
            .Copy Destination:=Worksheets("Лист3").Range("A1")
        End With
    End If
...
Рейтинг: 0 / 0
Выделение строки
    #33894604
Gadeyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще вопрос. Как мне сделать событие на выделение строки, т.е. выделяешь строку целиком и скрипт выполняется.
Подскажите.
...
Рейтинг: 0 / 0
Выделение строки
    #33894766
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в модуле листа есть событие "Worksheet_SelectionChange"
Код: plaintext
1.
2.
3.
4.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Columns.Count =  256  Then
        ...
    End If
End Sub
...
Рейтинг: 0 / 0
Выделение строки
    #33895029
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так еще можно.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Worksheet_SelectionChange( _
  ByVal Target As Range)
    With Target
        If .Address = .EntireRow.Address Then
            MsgBox "Строка выделена."
        End If
    End With
End Sub
...
Рейтинг: 0 / 0
Выделение строки
    #33895084
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Columns.Count =  256  And Target.Rows.Count =  1  Then
        MsgBox "Строка выделена."
    ElseIf Target.Columns.Count =  256  Then
        MsgBox "Строки выделены."
    End If
End Sub
...
Рейтинг: 0 / 0
Выделение строки
    #33900094
Gadeyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю, супер усе работает!!!
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выделение строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]