Страницы: 1
RSS
переход на другой файл Excel
 
Уважаемые! Подскажите что необходимо добавить чтобы при нажатии кнопки осуществлялся переход на другой файл (уже открытый)  
 
Sheets("ЯНВАРЬ").Select  
ActiveSheet.Range("A1").Select
 
А что Вы хотите сделать? Можно ведь и не активировать книгу, а просто обратиться к ней. Вы бы описали задачу и что хотите получить, а вариант решения Вам подскажут.  
ЗЫ как то делал решение при запуске рабочей книги принудительно открывал другую присваивал ее имя переменной и потом просто обращался к ней.
 
Например:  
Workbooks("Книга1.xls").Activate  
Sheets("ЯНВАРЬ").Range("A1").Select  
MsgBox [a1].Value
 
Или  
s=Workbooks("Книга1.xls").Sheets("ЯНВАРЬ").Range("A1").Value  
MsgBox s
 
Нужно добавить кнопку :)  
Потому что сам код легко записать рекордером: вот взял два попавшихся файла, включил рекордер, получил код  
 
Sub Макрос1()  
   Windows("post_225318.xls").Activate  
   Range("A1").Select  
End Sub  
 
Но правильно - избегать активаций и селектов.
 
Уточню что нужно, подробнее.  
При нажатии кнопки открывается сразу два файла в Excel.  
Но при окончании открытия файлов активен не тот файл который нужен.  
Как нужно жестко прописать, чтобы после открытия файла активным был именно требуемый файл (1.xls).  
 
Private Sub CommandButton1_Click()  
Workbooks.Open (1.xls)  
Workbooks.Open (2.xls)    
End Sub
 
Workbooks("1.xls").Activate в конец.
 
Извиняюсь не все указал. Вот так. Где нужно прописать и что, чтобы активным оставался файл (FileName)?  
 
Private Sub CommandButton1_Click()  
Dim FileName As String  
Dim ws As Worksheet  
Dim wsEmployees As Worksheet  
Dim fs As Object  
 
Workbooks.Open (1.xls)  
 
Set fs = CreateObject("Scripting.FileSystemObject")  
Set wsEmployees = ThisWorkbook.Worksheets("лист1")  
 
If fs.FileExists(FileName) = True Then  
Workbooks.Open (FileName)  
Workbooks(ThisWorkbook.Name).Close True  
End if  
Else  
ThisWorkbook.SaveAs wsEmployees.Cells(3, 5).Value  
End if  
 
End Sub
 
Судя по этому куску кода - он и будет активным, если он есть.  
Но это ведь не весь код...
 
Да текст не весь, только основное.  
Если оставить как было, то файл 1.xls (он весит больше и открывается дольше), становился активным.  
Но вроде так добавил стало работать. Всем спасибо  
 
Private Sub CommandButton1_Click()  
Dim FileName As String  
Dim ws As Worksheet  
Dim wsEmployees As Worksheet  
Dim fs As Object  
 
Workbooks.Open (1.xls)  
 
Set fs = CreateObject("Scripting.FileSystemObject")  
Set wsEmployees = ThisWorkbook.Worksheets("лист1")  
 
If fs.FileExists(FileName) = True Then  
Workbooks.Open (FileName)  
 
Workbooks(FileName).Activate  
 
Workbooks(ThisWorkbook.Name).Close True  
End if  
Else  
ThisWorkbook.SaveAs wsEmployees.Cells(3, 5).Value  
 
Workbooks(ThisWork.Name).Activate  
 
End if  
 
End Sub
Страницы: 1
Читают тему
Наверх