Добрый день. Перестал работать макрос после открытия книги. В редакторе дохожу до момента открытия и после макрос не продолжается....
Код
Sub smotrim_KZ()
'Application.DisplayAlerts = False
'Application.ScreenUpdating = False
'Application.EnableEvents = False
Windows("Центр СИД.xlsm").Activate
Sheets("Лист1").Select
Dim sFullPath$, sBookName$, n&
sFullPath = ThisWorkbook.Sheets("Лист1").Range("B13")
n = InStrRev(sFullPath, "\")
If n > 0 Then sBookName = Mid(sFullPath, n + 1) Else sBookName = sFullPath
On Error Resume Next
Err.Clear
Windows("Центр СИД.xlsm").Activate
Sheets("Лист1").Select
Workbooks.Open sFullPath
' После открытия книги, макрос останавливает расчет в данной строке
Windows("Центр СИД.xlsm").Activate
Sheets("Лист1").Select
End Sub
Доброго дня, можете подсказать что делаю не так? Зависает при сохранении, а после вылетает все
Код
Private Sub AOSR2()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.Calculation = xlManual
Application.EnableEvents = False
Dim S As String
S = Sheets("АОСР").Range("W32")
Dim w As String
w = Range("V32").Value
Dim TitleName As String
Dim UserName As String
Dim ActName As String
Dim DirName As String
Dim Object As String
Dim FileN As String
Dim FileN2 As String
Dim x As String
Dim R As String
Dim wb As Workbook
Set wb = Workbooks.Add
Dim TWB As Workbook
Set TWB = ThisWorkbook
TitleName = Replace(ThisWorkbook.Sheets("данные").Cells(21, "B").Value, "/", "_")
UserName = Replace(ThisWorkbook.Sheets("данные").Cells(20, "B").Value, "/", "_")
ActName = Replace(ThisWorkbook.Sheets("данные").Cells(22, "B").Value, "/", "_")
Object = Replace(ThisWorkbook.Sheets("данные").Cells(26, "B").Value, "/", "_")
DirName = "O:\1. Сопровождение Исполнительной документации\" & Object & "\"
If Not CreateObject("Scripting.FileSystemObject").FolderExists(DirName) Then MkDir (DirName)
If Not CreateObject("Scripting.FileSystemObject").FolderExists(DirName & UserName & "\") Then MkDir (DirName & UserName)
If Not CreateObject("Scripting.FileSystemObject").FolderExists(DirName & UserName & "\" & TitleName & "\") Then MkDir (DirName & UserName & "\" & TitleName)
If S = "Да" Then
If Not CreateObject("Scripting.FileSystemObject").FolderExists(DirName & UserName & "\" & TitleName & "\" & "АОСР - " & ActName & "\") Then MkDir (DirName & UserName & "\" & TitleName & "\" & "АОСР - " & ActName)
FileN = DirName & UserName & "\" & TitleName & "\" & "АОСР - " & ActName & "\" & ActName & ".xlsb"
Else:
FileN2 = DirName & UserName & "\" & TitleName & "\" & "АОСР - " & ActName & ".xlsb"
End If
Application.Calculation = xlManual
Application.CalculateBeforeSave = False
Windows(ThisWorkbook).Activate
If S = "Да" Then
ActiveWorkbook.SaveAs FileN, FileFormat:=50
Else:
ActiveWorkbook.SaveAs FileN2, FileFormat:=50
End If
ThisWorkbook.Sheets("АОСР").Copy Before:=wb.Sheets(1)
[AE7:AI8].Value2 = [AE7:AI8].Value2
[BL1:BL45].Value2 = [BL1:BL45].Value2
[BB1:BB200].Value2 = [BB1:BB200].Value2
ActiveWorkbook.Save
wb.Close True
Windows("АОСР v 7.00 центральная.xlsm").Activate
For y = 1 To Cells.SpecialCells(xlLastCell).Row
If Cells(y, 64) = w Then
Exit For
End If
Next y
Windows("АОСР v 7.00 центральная.xlsm").Activate
Worksheets("АОСР").Range("BB31") = CStr(y + 1)
x = Worksheets("Лист1").Range("$N2").Offset(y)
Worksheets("АОСР").Range("V32") = x
Application.EnableEvents = True
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub
Она не совсем подходит, так как настраивать на каждом компе надстройку не возможно, слишком много людей будут открывать Книгу. Если б надстройку как то загрузить в интернет, чтоб обращение было туда....
Доброго дня!. Наступил тот момент когда макросы нужно хранить в одном защищенном месте. Мысль какая, я буду делится Книгой эксель и в ней должны работать макросы, особенно "Private Sub Workbook_BeforeClose(Cancel As Boolean)" он вовсе запускатся только из "Эта книга". Можно ли как то залить эту книгу с макросами в интернет и чтоб те люди у кого будет доступ к Книге пользовались макросами Устанавливать индивидуально на каждый комп личную книгу макросов "Personal" очень сложно и долго.
Я практически нашел выход но "Private Sub Workbook_BeforeClose(Cancel As Boolean)" не хочет работь когда расположен вне "Эта книга"
Нашел!!! захоим в настройки ПК/Часы и регион (изменение формата....)/Дополнительно/Изменение язык системы/ и выбираем Русский!!!!!!!!!!!!!!!!!наконец то
Доброго всем дня. Расскажу как есть. На моем компе все макросы работают все отлично, сейчас создал виртуальную машину которая находится где в ЕС и заливаю туда свои мини программы. Но вот беда что везде знаки "??????" и даже при чистом листе и начала кода выходит одна и так же ошибка.
Sub sdfsdf()
End sub
нажимаю F8 и вылетает ошибка.. excel compile error expected expression
vikttur, Mershik,Спасибо большое умные люди. я вам с проблемой и примером, а вам вечно все и всегда не нравится. за все эти годы я больше нервов с вами потратил чем что то полезное узнал. Прошу умничать дальше.
Andrej730,функция Вычслить не подходит т.к использую формулы сцепления, поиска и т.д. она не вычисляет. Для данного примера она конечно подходит, но это пример
Есть макрос на сохранение как текст листа. Хотелось чтоб в конце макроса изменялась ссылка следующую ячейку, которая находится строкой ниже. Если следующая ячейка пустая, к примеру "P12"; то знак равенства был бы снова равен ячейке "P2"
Юрий М,спасибо а можно чтоб цифру 3 брала с другого листа книги?а не прописывать в самом макросе. Тут еще есть выпадающий список который нужно после сохранения менять на следующий номер
Иванов Вадим,масивы нужны. получить хотим цикл. 1. выбор выпа.списка и сохранение листа как значение после снова цикл повторяется, а именно выбор след.из выпад.списка и его сохранение
ранее я задавал этот вопрос но выразился не точно. Есть список который меняется, вместе с этим списком меняются и формулы. когда я их сцепляю, то не получается рассчитать саму формулу в приложенном примере ячейка "D27"
Добрый день. есть макрос который сохраняет лист как значение без формул по указанному пути. с этим макросом, на мой взгляд все ок. Проблема в том что после сохранения я выбираю следующий номер из выпадающего списка и снова запускаю макрос на сохранение. Можно ли зациклить это движение? значений в вып.списке всегда разное количество И было бы очень здорово но не обязательно, если все сохраненные листы находились бы в одной книге.