powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Visual Basic 6
2 сообщений из 2, страница 1 из 1
Visual Basic 6
    #32436144
Сер. Алекс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть рабочая книга Excel, содержащая несколько десятков листов.
Подскажите, как написать код программы для поиска по всем листам книги.
У меня есть код. Он начинает поиск с первого листа и продолжает дальше искать, но как только на каком-то листе он не находит нужное значение, он прерывает поиск.

Private Sub cmdSEARCH_Click()
Dim a As Long, a1 As Integer, a2&, s$, str As String
Dim oExcel As Object
Dim wb1 As Object
Dim ws As Worksheet

a = 1

Set oExcel = CreateObject("Excel.Application")
oExcel.Visible = False
oExcel.Visible = True

Set wb1 = oExcel.Workbooks.Open(Text1)

On Error GoTo ErrorHandler
STF = InputBox("Что Вы хотите найти?", _
"Поиск", StringToFind)

If Len(STF) <> "" Then
StringToFind = STF

For Each ws In wb1.Worksheets
Columns("A:Z").Find(StringToFind, after:=ActiveCell).Activate
ws.Activate
ws.Visible = True
Next ws
End If
Exit Sub

ErrorHandler:
MsgBox "К сожалению, такого выражения нет"

End Sub
...
Рейтинг: 0 / 0
Visual Basic 6
    #32436397
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim Goal As Range
For Each ws In wb1.Worksheets 
Set Goal=Columns( "A:Z" ).Find(What:=StringToFind, After:=ActiveCell)
If Not Goal Is Nothing Then
'...............Activate 
Else
'..............
End If
ws.Activate 
ws.Visible = True 
Next ws 

См Find Method Example...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Visual Basic 6
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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