Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: VBA Excel 2003 Добавлено: 16.01.08 08:53  

Автор вопроса:  Таня | ICQ: 410031407 
Подскажите, пож.!
Такая штука: Рабочая книга, вней листы, как обратиться к листу, который идет следом по порядку, при этом не использовать например(Sheets("Лист2")), заранее спасибо

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 16.01.08 09:31
Два варианта перебора листов, обращение по индексу и перебор коллекции листов.

Option Explicit

Sub EnumSheets1()
    Dim i As Integer
    For i = 1 To ThisWorkbook.Worksheets.Count
        ThisWorkbook.Worksheets(i).Activate
    Next i
End Sub

Sub EnumSheets2()
    Dim s As Worksheet
    For Each s In ThisWorkbook.Worksheets
        s.Activate
    Next s
End Sub


И собственно ответ на вопрос:
Sub NextSheet()
    If Worksheets.Count > ActiveSheet.Index Then
        Worksheets(ActiveSheet.Index + 1).Activate
    Else
        MsgBox "Last Worksheet"
    End If
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #2
Добавлено: 16.01.08 09:32
Короче это или типа того
Worksheets(ActiveSheet.Index + 1).Activate

Ответить

Номер ответа: 3
Автор ответа:
 Таня



ICQ: 410031407 

Вопросов: 11
Ответов: 23
 Профиль | | #3 Добавлено: 16.01.08 09:39
Все работает, спасибки огромное!!!!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам