Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Указать имя листа на котором выполняется макрос - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Указать имя листа на котором выполняется макрос
ArkaIIIa Дата: Четверг, 05.06.2014, 14:48 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Уважаемые господа!

Помогите, пожалуйста. Для Вас задача простецкая (для меня, увы, сложная - в VBA = 0).

Есть 2 макроса:

Первый в модуле:

[vba]
Код
Sub Update_()
     Path_1 = "F:\STALE_APP_REPORT.xls"
     iFileDateTime_1 = FileDateTime(Path_1)
     Cells(27, 11) = iFileDateTime_1
     ActiveWorkbook.UpdateLink Name:= _
         "F:\STALE_APP_REPORT.xls", Type:=xlExcelLinks
End Sub
[/vba]

Обновляет связи с исходным файлом и показывает время обновления исходного файла.

Второй в листе 7 (Лист 7 называется "тренды"):

[vba]
Код
Sub newtime()
     Dim r As Range
     Set r = Rows(2).Find([B1].Text, , xlValues, xlWhole)
     If Not r Is Nothing Then
         [B3:B140].Copy
         r.Offset(1).PasteSpecial Paste:=xlPasteValues
     End If
End Sub
[/vba]

Переносит определенные данные в определенные ячейки.

Мне нужно эти два макроса связать в один. Т.е. в начале выполняется первый, затем второй.
Как мне правильно перенести второй макрос в "Модуль", чтобы он выполнялся на 7 странице, а не на первой, к которой прикручена кнопка? :-(
 
Ответить
СообщениеУважаемые господа!

Помогите, пожалуйста. Для Вас задача простецкая (для меня, увы, сложная - в VBA = 0).

Есть 2 макроса:

Первый в модуле:

[vba]
Код
Sub Update_()
     Path_1 = "F:\STALE_APP_REPORT.xls"
     iFileDateTime_1 = FileDateTime(Path_1)
     Cells(27, 11) = iFileDateTime_1
     ActiveWorkbook.UpdateLink Name:= _
         "F:\STALE_APP_REPORT.xls", Type:=xlExcelLinks
End Sub
[/vba]

Обновляет связи с исходным файлом и показывает время обновления исходного файла.

Второй в листе 7 (Лист 7 называется "тренды"):

[vba]
Код
Sub newtime()
     Dim r As Range
     Set r = Rows(2).Find([B1].Text, , xlValues, xlWhole)
     If Not r Is Nothing Then
         [B3:B140].Copy
         r.Offset(1).PasteSpecial Paste:=xlPasteValues
     End If
End Sub
[/vba]

Переносит определенные данные в определенные ячейки.

Мне нужно эти два макроса связать в один. Т.е. в начале выполняется первый, затем второй.
Как мне правильно перенести второй макрос в "Модуль", чтобы он выполнялся на 7 странице, а не на первой, к которой прикручена кнопка? :-(

Автор - ArkaIIIa
Дата добавления - 05.06.2014 в 14:48
ArkaIIIa Дата: Четверг, 05.06.2014, 15:38 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Подозреваю, что должно быть что-то типа:

[vba]
Код
Sub Update_()
     Path_1 = "F:\STALE_APP_REPORT.xls"
     iFileDateTime_1 = FileDateTime(Path_1)
     Cells(27, 11) = iFileDateTime_1
     ActiveWorkbook.UpdateLink Name:= _
         "F:\STALE_APP_REPORT.xls", Type:=xlExcelLinks
Sheets("Лист7").Dim r As Range
     Set r = Rows(2).Find([B1].Text, , xlValues, xlWhole)
     If Not r Is Nothing Then
         [B3:B140].Copy
         r.Offset(1).PasteSpecial Paste:=xlPasteValues
     End If
End Sub
[/vba]

Только как правильно это записать?
 
Ответить
СообщениеПодозреваю, что должно быть что-то типа:

[vba]
Код
Sub Update_()
     Path_1 = "F:\STALE_APP_REPORT.xls"
     iFileDateTime_1 = FileDateTime(Path_1)
     Cells(27, 11) = iFileDateTime_1
     ActiveWorkbook.UpdateLink Name:= _
         "F:\STALE_APP_REPORT.xls", Type:=xlExcelLinks
Sheets("Лист7").Dim r As Range
     Set r = Rows(2).Find([B1].Text, , xlValues, xlWhole)
     If Not r Is Nothing Then
         [B3:B140].Copy
         r.Offset(1).PasteSpecial Paste:=xlPasteValues
     End If
End Sub
[/vba]

Только как правильно это записать?

Автор - ArkaIIIa
Дата добавления - 05.06.2014 в 15:38
SkyPro Дата: Четверг, 05.06.2014, 15:47 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub newtime()
      Dim r As Range
      Set r = sheets(7).Rows(2).Find(sheets(7).[B1].Text, , xlValues, xlWhole)
      If Not r Is Nothing Then
          sheets(7).[B3:B140].Copy
          r.Offset(1).PasteSpecial Paste:=xlPasteValues
      End If
End Sub
[/vba]


Сообщение отредактировал SkyPro - Четверг, 05.06.2014, 15:49
 
Ответить
Сообщение[vba]
Код
Sub newtime()
      Dim r As Range
      Set r = sheets(7).Rows(2).Find(sheets(7).[B1].Text, , xlValues, xlWhole)
      If Not r Is Nothing Then
          sheets(7).[B3:B140].Copy
          r.Offset(1).PasteSpecial Paste:=xlPasteValues
      End If
End Sub
[/vba]

Автор - SkyPro
Дата добавления - 05.06.2014 в 15:47
ArkaIIIa Дата: Четверг, 05.06.2014, 15:52 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
SkyPro
Спасибо Вам большое!
 
Ответить
СообщениеSkyPro
Спасибо Вам большое!

Автор - ArkaIIIa
Дата добавления - 05.06.2014 в 15:52
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!