Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как можно узнать, есть в книге лист с именем "Лист1" или нет / 6 сообщений из 6, страница 1 из 1
16.12.2010, 11:53
    #37017850
SergeyS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать, есть в книге лист с именем "Лист1" или нет
Как можно узнать, есть в книге лист с именем "Лист1" или нет? Метод перебора всех листов не подходит, т.е. типа этого:

Код: plaintext
1.
2.
3.
4.
5.
For j =  1  To Worksheets.Count
    If (Worksheets(j).Name = "Лист1") Then
    MsgBox "Yes"
    End If
Next j
...
Рейтинг: 0 / 0
16.12.2010, 14:12
    #37018313
Aster32
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать, есть в книге лист с именем "Лист1" или нет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Sub Sheetnamefind()
Dim s As Worksheet
For Each s In ActiveWorkbook.Sheets
If s.Name = "Лист1" Then
MsgBox "Есть такой лист."
Exit For
Else
MsgBox "Нет такого листа."
Exit For
End If
Next s
End Sub
...
Рейтинг: 0 / 0
16.12.2010, 15:10
    #37018513
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать, есть в книге лист с именем "Лист1" или нет
SergeyS,

функция с использованием ADO
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Function IsExicstSheet(ByVal FullSheetName As String) As Boolean
Dim RstADO              As ADODB.Recordset
Dim ConnADO             As ADODB.Connection
IsExicstSheet = False
    Set ConnADO = New ADODB.Connection
    ConnADO.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.FullName _
                               & ";Extended Properties=Excel 8.0;"
    ConnADO.Open
    Set RstADO = ConnADO.OpenSchema(adSchemaTables)
    RstADO.MoveFirst
    RstADO.Find "table_name='" & FullSheetName & "$'"
    If Not (RstADO.BOF) And Not (RstADO.EOF) Then IsExicstSheet = True
        RstADO.Close
        ConnADO.Close
    Set RstADO = Nothing
    Set ConnADO = Nothing
End Function
...
Рейтинг: 0 / 0
16.12.2010, 15:13
    #37018522
George Ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать, есть в книге лист с именем "Лист1" или нет
Код: plaintext
1.
2.
3.
Private Sub Макрос1()
    MsgBox SheetExist("Лист1")
End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Function SheetExist(shName As String) As String
On Error GoTo Err_SheetExist
    
Dim Result As String
    If Sheets(shName).Name = shName Then Result = "Yes"
    
Exit_SheetExist:
    SheetExist = Result
    Exit Function
    
Err_SheetExist:
    If Err.Number =  9  Then
        Result = "No"
    Else
        Result = Err.Number & " - " & Err.Description
    End If
    Err.Clear
    Resume Exit_SheetExist
End Function
...
Рейтинг: 0 / 0
16.12.2010, 15:18
    #37018541
George Ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать, есть в книге лист с именем "Лист1" или нет
Или так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Function IsExistSheet(shName As String) As Boolean
On Error GoTo Err_IsExistSheet

    If Sheets(shName).Name = shName Then IsExistSheet = True
    
Exit_IsExistSheet:
    Exit Function
    
Err_IsExistSheet:
    If Err.Number =  9  Then IsExistSheet = False
    Resume Exit_IsExistSheet
End Function
...
Рейтинг: 0 / 0
16.12.2010, 15:48
    #37018638
George Ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать, есть в книге лист с именем "Лист1" или нет
Или ещё короче:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Function IsExistSheet(shName As String) As Boolean
On Error GoTo Err_IsExistSheet

    If Sheets(shName).Name = shName Then IsExistSheet = True
    Exit Function
    
Err_IsExistSheet:
    If Err.Number =  9  Then IsExistSheet = False
End Function
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как можно узнать, есть в книге лист с именем "Лист1" или нет / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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