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

 

= Мир MS Excel/Указание названия книги и листа (простой вопрос) - Мир MS Excel

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

2010
Доброе утро, уважаемые гуру!

Подскажите, пожалуйста, неопытному юзеру, как правильно сделать следующее.

Есть макрос:

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
Dim R As Range
Dim rngX As Range
Dim X As Integer
            
Set R = Sheets(7).Rows(2).Find(Sheets(7).[B1].Text, , xlValues, xlWhole)
Set rngX = Sheets(7).[B3:B140]
            
If Not R Is Nothing Then
    Sheets(7).Select
    rngX.Copy
    R.Offset(1).PasteSpecial Paste:=xlPasteValues
    Set rngX = Selection
    For X = 1 To rngX.Columns.Count
        rngX.Cells(1, X).Offset(141 - rngX.Cells(1, X).Row).Value = Now
    Next X
End If
    Sheets(1).Select
End Sub



Первая его часть, вот эта:

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

Вставляет в ячейку K27 дату и время последнего обновления файла-исходника под названием "STALE_APP_REPORT.xls"
Как правильно и в какую часть макроса вставить название файла и номер листа куда должна идти вставка? (Лист1, название файла: "File123.xlsm")

Просто, периодически возникает проблема, когда вышеупомянутый макрос вставляет дату и время обновления файла STALE_APP_REPORT в ячейу К27 но на другом листе, либо вообще в другую книгу.


Сообщение отредактировал ArkaIIIa - Среда, 11.06.2014, 07:50
 
Ответить
СообщениеДоброе утро, уважаемые гуру!

Подскажите, пожалуйста, неопытному юзеру, как правильно сделать следующее.

Есть макрос:

[vba]
Sub Update_()       Path_1 = "F:\STALE_APP_REPORT.xls"       iFileDateTime_1 = FileDateТime(Path_1)       Cells(27; 11) = iFileDateTime_1       ActiveWorkbook.UpdateLink Name:= _           "F:\STALE_APP_REPORT.xls"; Type:=xlExcelLinks Dim R As Range Dim rngX As Range Dim X As Integer              Set R = Sheets(7).Rows(2).Find(Sheets(7).[B1].Text; ; xlValues; xlWhole) Set rngX = Sheets(7).[B3:B140]              If Not R Is Nothing Then       Sheets(7).Select       rngX.Copy       R.Offset(1).PasteSpecial Paste:=xlPasteValues       Set rngX = Selection       For X = 1 To rngX.Columns.Count           rngX.Cells(1; X).Offset(141 - rngX.Cells(1; X).Row).Value = Now       Next X End If       Sheets(1).Select End Sub
[/vba]

Первая его часть, вот эта:
[vba]
Path_1 = "F:\STALE_APP_REPORT.xls" iFileDateTime_1 = FileDateТime(Path_1) Cells(27; 11) = iFileDateTime_1 ActiveWorkbook.UpdateLink Name:= _ "F:\STALE_APP_REPORT.xls"; Type:=xlExcelLinks
[/vba]Вставляет в ячейку K27 дату и время последнего обновления файла-исходника под названием "STALE_APP_REPORT.xls"
Как правильно и в какую часть макроса вставить название файла и номер листа куда должна идти вставка? (Лист1, название файла: "File123.xlsm")

Просто, периодически возникает проблема, когда вышеупомянутый макрос вставляет дату и время обновления файла STALE_APP_REPORT в ячейу К27 но на другом листе, либо вообще в другую книгу.

Автор - ArkaIIIa
Дата добавления - 11.06.2014 в 07:49
anvg Дата: Среда, 11.06.2014, 09:11 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе утро.
Если книга File123.xlsm на этот момент открыта, то


Workbooks("File123.xlsm").Worksheets("Лист1").Cells(27, 11).Value = FileDateTime(Path_1)


Успехов.
 
Ответить
СообщениеДоброе утро.
Если книга File123.xlsm на этот момент открыта, то
[vba]
Workbooks("File123.xlsm").Worksheets("Лист1").Cells(27; 11).Value = FileDateТime(Path_1)
[/vba]
Успехов.

Автор - anvg
Дата добавления - 11.06.2014 в 09:11
ArkaIIIa Дата: Среда, 11.06.2014, 09:15 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
anvg
Благодарю!

Скажите, пожалуйста, а вышеобозначенная проблема (макрос срабатывал на другие книги), связана именно с тем, что в макросе не было четко прописано, в какую книгу он должен вставлять информацию?
 
Ответить
Сообщениеanvg
Благодарю!

Скажите, пожалуйста, а вышеобозначенная проблема (макрос срабатывал на другие книги), связана именно с тем, что в макросе не было четко прописано, в какую книгу он должен вставлять информацию?

Автор - ArkaIIIa
Дата добавления - 11.06.2014 в 09:15
anvg Дата: Среда, 11.06.2014, 09:23 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Цитата
(макрос срабатывал на другие книги)

Просто обращение Cells(27, 11) подразумевает активный лист активной книги. А ведь это может быть и не требуемый лист необходимой книги, не так ли? Более того, может привести к ошибке, если активный лист - это диаграмма.
 
Ответить
Сообщение
Цитата
(макрос срабатывал на другие книги)

Просто обращение Cells(27, 11) подразумевает активный лист активной книги. А ведь это может быть и не требуемый лист необходимой книги, не так ли? Более того, может привести к ошибке, если активный лист - это диаграмма.

Автор - anvg
Дата добавления - 11.06.2014 в 09:23
_Boroda_ Дата: Среда, 11.06.2014, 09:32 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация: 6613 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
ArkaIIIa, Вообще, довольно удобно пользоваться конструкцией With - End With (если таких обращений больше одного)
Вот так:

    With Workbooks("555555.xlsm").Worksheets("Лист1")
        .Cells(27, 11).Value = 5
        Workbooks("777.xlsm").Worksheets("Лист222").Cells(27, 11).Value = 7
        .Cells(2, 2).Value = 555
    End With



Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеArkaIIIa, Вообще, довольно удобно пользоваться конструкцией With - End With (если таких обращений больше одного)
Вот так:
[vba]
    With Workbooks("555555.xlsm").Worksheets("Лист1")          .Cells(27, 11).Value = 5          Workbooks("777.xlsm").Worksheets("Лист222").Cells(27, 11).Value = 7          .Cells(2, 2).Value = 555      End With
[/vba]

Автор - _Boroda_
Дата добавления - 11.06.2014 в 09:32
ArkaIIIa Дата: Среда, 11.06.2014, 10:42 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
_Boroda_
Действительно удобно. Мотаю на ус. Спасибо!)

anvg
Спасибо за разъяснения. Теперь, вроде бы, все понятно.)
 
Ответить
Сообщение_Boroda_
Действительно удобно. Мотаю на ус. Спасибо!)

anvg
Спасибо за разъяснения. Теперь, вроде бы, все понятно.)

Автор - ArkaIIIa
Дата добавления - 11.06.2014 в 10:42
ArkaIIIa Дата: Среда, 11.06.2014, 11:42 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
В контексте вышеобозначенного вопроса, хотелось бы поинтересоваться (если эта другая тема - дайте знать, создам другой топик)...

Я постарался модифицировать макрос, прописав везде отсылку к нужной книге и нужным листам на ней. Получилось следующее:

Sub Update_()
    Path_1 = "F:\STALE_APP_REPORT.xls"
    iFileDateTime_1 = FileDateTime(Path_1)
    Workbooks("Q1.5.xlsm").Worksheets("РМ").Cells(27, 11) = iFileDateTime_1
    ActiveWorkbook.UpdateLink Name:= _
        "F:\STALE_APP_REPORT.xls", Type:=xlExcelLinks
Dim R As Range
Dim rngX As Range
Dim X As Integer
        
Set R = Workbooks("Q1.5.xlsm").Worksheets("Статистика").Rows(2).Find(Worksheets("Статистика").[B1].Text, , xlValues, xlWhole)
Set rngX = Workbooks("Q1.5.xlsm").Worksheets("Статистика").[B3:B140]
        
If Not R Is Nothing Then
    Workbooks("Q1.5.xlsm").Worksheets("Статистика").Select
    rngX.Copy
    R.Offset(1).PasteSpecial Paste:=xlPasteValues
    Set rngX = Selection
    For X = 1 To rngX.Columns.Count
        rngX.Cells(1, X).Offset(141 - rngX.Cells(1, X).Row).Value = Now
    Next X
End If
    Workbooks("Q1.5.xlsm").Worksheets("РМ").Select
End Sub



Задача: чтобы макрос выполнялся корректно, даже если открыты другие книги и/или учетная запись заблокирована.

Вопрос 1: Возможно ли это (особенно в части выполнения при заблокированной уз)? В другом топике интересовался - сказали, что возможно.
Вопрос 2: Если ответ на вопрос 1 - возможно, то чего я не учел? Видимо где-то не поставил отсылку к нужной книге? При тестировании выдает ошибку:
Run-time error 1004: Method UpdateLink of object _Workbook failed.
Не совсем понимаю, на что именно он ругается.
 
Ответить
СообщениеВ контексте вышеобозначенного вопроса, хотелось бы поинтересоваться (если эта другая тема - дайте знать, создам другой топик)...

Я постарался модифицировать макрос, прописав везде отсылку к нужной книге и нужным листам на ней. Получилось следующее:

[vba]
Sub Update_()      Path_1 = "F:\STALE_APP_REPORT.xls"      iFileDateTime_1 = FileDateТime(Path_1)      Workbooks("Q1.5.xlsm").Worksheets("РМ").Cells(27; 11) = iFileDateTime_1      ActiveWorkbook.UpdateLink Name:= _          "F:\STALE_APP_REPORT.xls"; Type:=xlExcelLinks Dim R As Range Dim rngX As Range Dim X As Integer            Set R = Workbooks("Q1.5.xlsm").Worksheets("Статистика").Rows(2).Find(Worksheets("Статистика").[B1].Text; ; xlValues; xlWhole) Set rngX = Workbooks("Q1.5.xlsm").Worksheets("Статистика").[B3:B140]            If Not R Is Nothing Then      Workbooks("Q1.5.xlsm").Worksheets("Статистика").Select      rngX.Copy      R.Offset(1).PasteSpecial Paste:=xlPasteValues      Set rngX = Selection      For X = 1 To rngX.Columns.Count          rngX.Cells(1; X).Offset(141 - rngX.Cells(1; X).Row).Value = Now      Next X End If      Workbooks("Q1.5.xlsm").Worksheets("РМ").Select End Sub
[/vba]

Задача: чтобы макрос выполнялся корректно, даже если открыты другие книги и/или учетная запись заблокирована.

Вопрос 1: Возможно ли это (особенно в части выполнения при заблокированной уз)? В другом топике интересовался - сказали, что возможно.
Вопрос 2: Если ответ на вопрос 1 - возможно, то чего я не учел? Видимо где-то не поставил отсылку к нужной книге? При тестировании выдает ошибку:
Run-time error 1004: Method UpdateLink of object _Workbook failed.
Не совсем понимаю, на что именно он ругается.

Автор - ArkaIIIa
Дата добавления - 11.06.2014 в 11:42
ArkaIIIa Дата: Среда, 11.06.2014, 12:34 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Так, понял, косяк в макросе:

Private Sub Workbook_Open()
Application.OnTime TimeValue("09:05:00"), "Update_"
End Sub


Как сюда правильно добавить Workbooks("Q1.5.xlsm") ?
 
Ответить
СообщениеТак, понял, косяк в макросе:

[vba]
Private Sub Workbook_Open() Application.OnTime ТimeValue("09:05:00"); "Update_" End Sub
[/vba]
Как сюда правильно добавить Workbooks("Q1.5.xlsm") ?

Автор - ArkaIIIa
Дата добавления - 11.06.2014 в 12:34
Hugo Дата: Среда, 11.06.2014, 12:43 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
"Update_" кладите в модуль этой же книги, а уже в нём прописывайте что угодно.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
Сообщение"Update_" кладите в модуль этой же книги, а уже в нём прописывайте что угодно.

Автор - Hugo
Дата добавления - 11.06.2014 в 12:43
ArkaIIIa Дата: Среда, 11.06.2014, 12:47 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
_Boroda_
Я бы и рад выложить файл. Сам понимаю, что так было бы намного проще для всех, но его очень-очень долго чистить от конфиденциальной инфы.
Вопросы по сути не сложные. Для Вас, наверное, покажутся глупыми. Попробую максимально просто объяснить, что есть, и что нужно.

Есть макрос:

Sub Update_()
    Path_1 = "F:\STALE_APP_REPORT.xls"
    iFileDateTime_1 = FileDateTime(Path_1)
    Workbooks("Q1.5.xlsm").Worksheets("РМ").Cells(27, 11) = iFileDateTime_1
    ActiveWorkbook.UpdateLink Name:= _
        "F:\STALE_APP_REPORT.xls", Type:=xlExcelLinks
Dim R As Range
Dim rngX As Range
Dim X As Integer
        
Set R = Workbooks("Q1.5.xlsm").Worksheets("Статистика").Rows(2).Find(Worksheets("Статистика").[B1].Text, , xlValues, xlWhole)
Set rngX = Workbooks("Q1.5.xlsm").Worksheets("Статистика").[B3:B140]
        
If Not R Is Nothing Then
    Workbooks("Q1.5.xlsm").Worksheets("Статистика").Select
    rngX.Copy
    R.Offset(1).PasteSpecial Paste:=xlPasteValues
    Set rngX = Selection
    For X = 1 To rngX.Columns.Count
        rngX.Cells(1, X).Offset(141 - rngX.Cells(1, X).Row).Value = Now
    Next X
End If
    Workbooks("Q1.5.xlsm").Worksheets("РМ").Select
End Sub



Лежит в Модуле1. Выполняет записанные в нем функции.

И есть второй макрос:

Private Sub Workbook_Open()
Application.OnTime TimeValue("09:05:00"), "Update_"
Application.OnTime TimeValue("09:35:00"), "Update_"
Application.OnTime TimeValue("10:05:00"), "Update_"
Application.OnTime TimeValue("10:35:00"), "Update_"
Application.OnTime TimeValue("11:05:00"), "Update_"
Application.OnTime TimeValue("11:35:00"), "Update_"
Application.OnTime TimeValue("12:38:00"), "Update_"
Application.OnTime TimeValue("12:35:00"), "Update_"
Application.OnTime TimeValue("13:05:00"), "Update_"
Application.OnTime TimeValue("13:35:00"), "Update_"
Application.OnTime TimeValue("14:05:00"), "Update_"
Application.OnTime TimeValue("14:35:00"), "Update_"
Application.OnTime TimeValue("15:05:00"), "Update_"
Application.OnTime TimeValue("15:35:00"), "Update_"
Application.OnTime TimeValue("16:05:00"), "Update_"
Application.OnTime TimeValue("16:35:00"), "Update_"
Application.OnTime TimeValue("17:05:00"), "Update_"
Application.OnTime TimeValue("17:35:00"), "Update_"
Application.OnTime TimeValue("18:05:00"), "Update_"
Application.OnTime TimeValue("18:35:00"), "Update_"
Application.OnTime TimeValue("19:05:00"), "Update_"
Application.OnTime TimeValue("19:35:00"), "Update_"
Application.OnTime TimeValue("20:05:00"), "Update_"
Application.OnTime TimeValue("20:35:00"), "Update_"
Application.OnTime TimeValue("21:05:00"), "Update_"
Application.OnTime TimeValue("21:35:00"), "Update_"
Application.OnTime TimeValue("22:05:00"), "Update_"
Application.OnTime TimeValue("22:35:00"), "Update_"
Application.OnTime TimeValue("23:05:00"), "Update_"
Application.OnTime TimeValue("23:35:00"), "Update_"
End Sub


Выполняет первый макрос в заданное время. Лежит в "ЭтаКнига".

Куда правильно поместить макрос 2?
а) Оставить в "ЭтаКнига"
б) Положить в Модуль1 к первому
в) Положить в Модуль2

Мне то нужно, по сути, чтобы оба макроса работали автономно, в какой бы книге я не находился. Т.е. я работаю с другим файлом-excel, а первый файл (в котором записаны вышеуказанные макросы) сам-собой обновляется в указанное время.


Сообщение отредактировал ArkaIIIa - Среда, 11.06.2014, 12:48
 
Ответить
Сообщение_Boroda_
Я бы и рад выложить файл. Сам понимаю, что так было бы намного проще для всех, но его очень-очень долго чистить от конфиденциальной инфы.
Вопросы по сути не сложные. Для Вас, наверное, покажутся глупыми. Попробую максимально просто объяснить, что есть, и что нужно.

Есть макрос:
[vba]
Sub Update_()      Path_1 = "F:\STALE_APP_REPORT.xls"      iFileDateTime_1 = FileDateТime(Path_1)      Workbooks("Q1.5.xlsm").Worksheets("РМ").Cells(27; 11) = iFileDateTime_1      ActiveWorkbook.UpdateLink Name:= _          "F:\STALE_APP_REPORT.xls"; Type:=xlExcelLinks Dim R As Range Dim rngX As Range Dim X As Integer            Set R = Workbooks("Q1.5.xlsm").Worksheets("Статистика").Rows(2).Find(Worksheets("Статистика").[B1].Text; ; xlValues; xlWhole) Set rngX = Workbooks("Q1.5.xlsm").Worksheets("Статистика").[B3:B140]            If Not R Is Nothing Then      Workbooks("Q1.5.xlsm").Worksheets("Статистика").Select      rngX.Copy      R.Offset(1).PasteSpecial Paste:=xlPasteValues      Set rngX = Selection      For X = 1 To rngX.Columns.Count          rngX.Cells(1; X).Offset(141 - rngX.Cells(1; X).Row).Value = Now      Next X End If      Workbooks("Q1.5.xlsm").Worksheets("РМ").Select End Sub
[/vba]

Лежит в Модуле1. Выполняет записанные в нем функции.

И есть второй макрос:
[vba]
Private Sub Workbook_Open() Application.OnTime ТimeValue("09:05:00"); "Update_" Application.OnTime ТimeValue("09:35:00"); "Update_" Application.OnTime ТimeValue("10:05:00"); "Update_" Application.OnTime ТimeValue("10:35:00"); "Update_" Application.OnTime ТimeValue("11:05:00"); "Update_" Application.OnTime ТimeValue("11:35:00"); "Update_" Application.OnTime ТimeValue("12:38:00"); "Update_" Application.OnTime ТimeValue("12:35:00"); "Update_" Application.OnTime ТimeValue("13:05:00"); "Update_" Application.OnTime ТimeValue("13:35:00"); "Update_" Application.OnTime ТimeValue("14:05:00"); "Update_" Application.OnTime ТimeValue("14:35:00"); "Update_" Application.OnTime ТimeValue("15:05:00"); "Update_" Application.OnTime ТimeValue("15:35:00"); "Update_" Application.OnTime ТimeValue("16:05:00"); "Update_" Application.OnTime ТimeValue("16:35:00"); "Update_" Application.OnTime ТimeValue("17:05:00"); "Update_" Application.OnTime ТimeValue("17:35:00"); "Update_" Application.OnTime ТimeValue("18:05:00"); "Update_" Application.OnTime ТimeValue("18:35:00"); "Update_" Application.OnTime ТimeValue("19:05:00"); "Update_" Application.OnTime ТimeValue("19:35:00"); "Update_" Application.OnTime ТimeValue("20:05:00"); "Update_" Application.OnTime ТimeValue("20:35:00"); "Update_" Application.OnTime ТimeValue("21:05:00"); "Update_" Application.OnTime ТimeValue("21:35:00"); "Update_" Application.OnTime ТimeValue("22:05:00"); "Update_" Application.OnTime ТimeValue("22:35:00"); "Update_" Application.OnTime ТimeValue("23:05:00"); "Update_" Application.OnTime ТimeValue("23:35:00"); "Update_" End Sub
[/vba]
Выполняет первый макрос в заданное время. Лежит в "ЭтаКнига".

Куда правильно поместить макрос 2?
а) Оставить в "ЭтаКнига"
б) Положить в Модуль1 к первому
в) Положить в Модуль2

Мне то нужно, по сути, чтобы оба макроса работали автономно, в какой бы книге я не находился. Т.е. я работаю с другим файлом-excel, а первый файл (в котором записаны вышеуказанные макросы) сам-собой обновляется в указанное время.

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

2010
Hugo
"Update_" лежит в модуле.
"Application.OnTime" лежит в "ЭтаКнига".

Проблема. Если я в момент срабатывания "Application.OnTime" сижу в другой книге, возникает сообщение "Run-time error 1004: Method UpdateLink of object _Workbook failed."
 
Ответить
СообщениеHugo
"Update_" лежит в модуле.
"Application.OnTime" лежит в "ЭтаКнига".

Проблема. Если я в момент срабатывания "Application.OnTime" сижу в другой книге, возникает сообщение "Run-time error 1004: Method UpdateLink of object _Workbook failed."

Автор - ArkaIIIa
Дата добавления - 11.06.2014 в 12:53
_Boroda_ Дата: Среда, 11.06.2014, 12:53 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация: 6613 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Само название "Private Sub Workbook_Open()" говорит о том, что только
а) Оставить в "ЭтаКнига"

Все, теперь понятно.Должно быть не Апдейт, а Книга("ооо").Модуль("ааа").Апдейт
Или кладите Апдейт в модуль той книги, в которой работаете в момент срабатывания макроса


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСамо название "Private Sub Workbook_Open()" говорит о том, что только
а) Оставить в "ЭтаКнига"

Все, теперь понятно.Должно быть не Апдейт, а Книга("ооо").Модуль("ааа").Апдейт
Или кладите Апдейт в модуль той книги, в которой работаете в момент срабатывания макроса

Автор - _Boroda_
Дата добавления - 11.06.2014 в 12:53
Hugo Дата: Среда, 11.06.2014, 12:55 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
1.Второй макрос может быть только в одном месте - где сейчас срабатывает.
2.Зачем сразу задавать так много времён? После первого срабатывания задавайте время на полчаса позже. Или до срабатывания, первой строкой.
И не ошибётесь в временах, как сейчас.
3.Что за "Q1.5.xlsm"? Всегда точно открыта?


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
Сообщение1.Второй макрос может быть только в одном месте - где сейчас срабатывает.
2.Зачем сразу задавать так много времён? После первого срабатывания задавайте время на полчаса позже. Или до срабатывания, первой строкой.
И не ошибётесь в временах, как сейчас.
3.Что за "Q1.5.xlsm"? Всегда точно открыта?

Автор - Hugo
Дата добавления - 11.06.2014 в 12:55
Hugo Дата: Среда, 11.06.2014, 12:56 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
Проблема. Если я в момент срабатывания "Application.OnTime" сижу в другой книге

ну так сами ведь написали в коде ActiveWorkbook.UpdateLink


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
Сообщение
Проблема. Если я в момент срабатывания "Application.OnTime" сижу в другой книге

ну так сами ведь написали в коде ActiveWorkbook.UpdateLink

Автор - Hugo
Дата добавления - 11.06.2014 в 12:56
ArkaIIIa Дата: Среда, 11.06.2014, 12:59 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Hugo
2. Я не знаю, как это сделать :-(
3. Q1.5.xlsm - это файл, в котором лежат оба макросы, открыт всегда. В нем и должно все срабатывать.
 
Ответить
СообщениеHugo
2. Я не знаю, как это сделать :-(
3. Q1.5.xlsm - это файл, в котором лежат оба макросы, открыт всегда. В нем и должно все срабатывать.

Автор - ArkaIIIa
Дата добавления - 11.06.2014 в 12:59
Hugo Дата: Среда, 11.06.2014, 13:00 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
2. Я не знаю, как это сделать :-(

а хелп на что? :)
Там как раз это есть.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
Сообщение
2. Я не знаю, как это сделать :-(

а хелп на что? :)
Там как раз это есть.

Автор - Hugo
Дата добавления - 11.06.2014 в 13:00
ArkaIIIa Дата: Среда, 11.06.2014, 13:11 | Сообщение № 17
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Все, теперь понятно.Должно быть не Апдейт, а Книга("ооо").Модуль("ааа").Апдейт

Уважаемый Борода, у меня, честное слово, совсем-совсем неважно с VBA.
Вы имели ввиду:

Application.OnTime TimeValue("13:05:00"), Workbooks("Q1.5.xlsm").Module(1)."Update_"



Такой вариант - подчеркивает. Ошибка какая-то.(

Hugo
Бог с ним, с указанным многократно временем)
Мне бы решить, как сделать так, чтобы макросы выполнялись, когда я сижу в другой книге (естественно, первая при этом открыта)..)
 
Ответить
Сообщение
Все, теперь понятно.Должно быть не Апдейт, а Книга("ооо").Модуль("ааа").Апдейт

Уважаемый Борода, у меня, честное слово, совсем-совсем неважно с VBA.
Вы имели ввиду:

[vba]
Application.OnTime ТimeValue("13:05:00"); Workbooks("Q1.5.xlsm").Module(1)."Update_"
[/vba]

Такой вариант - подчеркивает. Ошибка какая-то.(

Hugo
Бог с ним, с указанным многократно временем)
Мне бы решить, как сделать так, чтобы макросы выполнялись, когда я сижу в другой книге (естественно, первая при этом открыта)..)

Автор - ArkaIIIa
Дата добавления - 11.06.2014 в 13:11
Hugo Дата: Среда, 11.06.2014, 13:25 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
Так они ведь выполняются - ошибка ведь появляется! :)
Потому что ActiveWorkbook.UpdateLink - а в активной нет таких линков вероятно. Я ведь уже сказал.
Вы же сами активировали другую книгу!


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеТак они ведь выполняются - ошибка ведь появляется! :)
Потому что ActiveWorkbook.UpdateLink - а в активной нет таких линков вероятно. Я ведь уже сказал.
Вы же сами активировали другую книгу!

Автор - Hugo
Дата добавления - 11.06.2014 в 13:25
ArkaIIIa Дата: Среда, 11.06.2014, 13:30 | Сообщение № 19
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Hugo
Уважаемый Hugo, ну, представьте, что общаетесь с обезьяной)
Как мне модифицировать макрос, чтобы он в итоге срабатывал (без ошибок)?)
Я заменил ActiveWorkbook.UpdateLink на Workbooks("Q1.5.xlsm").UpdateLink, ничего умнее придумать не смог, в этом случае пишет Subscritp out of range.


Сообщение отредактировал ArkaIIIa - Среда, 11.06.2014, 13:31
 
Ответить
СообщениеHugo
Уважаемый Hugo, ну, представьте, что общаетесь с обезьяной)
Как мне модифицировать макрос, чтобы он в итоге срабатывал (без ошибок)?)
Я заменил ActiveWorkbook.UpdateLink на Workbooks("Q1.5.xlsm").UpdateLink, ничего умнее придумать не смог, в этом случае пишет Subscritp out of range.

Автор - ArkaIIIa
Дата добавления - 11.06.2014 в 13:30
Hugo Дата: Среда, 11.06.2014, 13:47 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3854
Репутация: 814 ±
Замечаний: 0% ±

365
Не знаю, не использовал - нужно тестить на примере. Делать пример не хочу, и некогда.
С виду вроде всё правильно.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеНе знаю, не использовал - нужно тестить на примере. Делать пример не хочу, и некогда.
С виду вроде всё правильно.

Автор - Hugo
Дата добавления - 11.06.2014 в 13:47
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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