Страница: 1 |
|
Вопрос: Debuger(F8) и Run(F5) не дружат! Как мне быть?
|
Добавлено: 04.03.08 13:32
|
|
Автор вопроса: bowfinger
|
Возникла такая проблема! В режиме отладки F8 процедура работает нормально, вычисляет значения, переменным присваивает значения. А если ее стандартно через F5 запускать, то процедура вызывается, но ничего не считает, переменные пустые!
Пробывал перезапускать MS Office, перезагружал комп. Не помогает!
Что делать? Это глюки VBA?
Ответить
|
Номер ответа: 2 Автор ответа:
bowfinger
![](images/starGray.gif) ![](images/starGray.gif) ![](images/starGray.gif) ![](images/starGray.gif) ![](images/starGray.gif) ![](images/starGray.gif) ![](images/starGray.gif) ![](images/starGray.gif)
Вопросов: 13 Ответов: 5
|
Профиль | | #2
|
Добавлено: 11.03.08 09:49
|
для Nytrogen
Переменные глобальные. Процедуру привожу
--------------------------------------
Public nmdog, gip_str, str As String
Public i, j As Integer
Public Sub ContractName() 'находим наименование договора на сайте contracts
With ThisWorkbook.Worksheets(2)
.Activate
str = "SELECT [Перечень договоров].Договор, [Перечень договоров].ГИП, [Перечень договоров].Название " & _
"FROM [C:\Разработки\contracts].[Перечень договоров : ВСЕ(правка)] [Перечень договоров] " & _
"ORDER BY [Перечень договоров].Договор"
ActiveSheet.QueryTables.Add(Connection:="ODBC RIVER=Microsoft Access Driver (*.mdb);Trusted_Connection=Yes efaultDir=C:\Разработки BQ=C:\Разработки\contracts.mdb" _
, Destination:=Range("A1" , Sql:=str).Refresh
i = 2
  o While .Cells(i, 1) <> ""
If Left(.Cells(i, 1), InStr(.Cells(i, 1), "#" - 1) = "3114" Then
nmdog = .Cells(i, 3)
gip_str = .Cells(i, 2)
Exit Do
End If
i = i + 1
Loop
End With
WorksheetClear (2)
End Sub
Private Sub WorksheetClear(byt As Byte) 'очистка листа
ThisWorkbook.Worksheets(byt).Activate
j = 1
  o While ThisWorkbook.Worksheets(byt).Range("A" & j) <> 0
j = j + 1
Loop
Range("A1:Z" & j).Select
Range("A1:Z" & j).Clear
End Sub
Ответить
|
Страница: 1 |
Поиск по форуму