Общее·количество·просмотров·страницы

среда, 31 марта 2010 г.

Как закрыть книгу и сохранить изменения?

Private Sub ckdis()
'Application.ScreenUpdating = False
'Set ActWbk = Workbooks("Êíèãà1.xlsx")
Workbooks("Название книги.xlsx").Close SaveChanges:=True

'Application.ScreenUpdating = True
End Sub

Usage range method to entern formula in specific range

Данный макрос был расположен в каждом листе файла.
Const MyFile = "'[Кадры АБТЭц.xls]6'"
Sub aaa()
Sheets("6").Select
Dim c As Range
Dim s As String
Dim myRange As Range
Set myRange = [L13:P40,E42:I43,E58:Q67,E79:M88,E102:H110,E122:H152]
For Each c In myRange
s = c.Formula
l2 = Len(s)
pos2 = InStr(1, s, "!")
pos3 = InStr(1, s, "+")
If pos2 <> 0 Then s1 = Mid(s, pos2, pos3 - pos2): s2 = s & "+" & MyFile & s1: _
c.Formula = s2
Next c
End Sub

вторник, 2 марта 2010 г.

Loop through folders

' Нижеприведённый кусок кода
' отобразит в окне Immediate список папок
' в корневой директории на диске С
Private Sub nji()
MyPath = "C:\"
MyName = Dir(MyPath, vbDirectory)
' Возвратит первую директорию.
Do While MyName <> "" ' Начало цикла
' Игнорируем текущую директорию или заключительную
If MyName <> "." And MyName <> ".." Then
' Используем битовое сравнение, чтобы определить
' что MyName есть директория (а не файл).
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' Отобразим в окне Immediate MyName
End If
MyName = Dir
End If
Loop
End Sub

четверг, 25 февраля 2010 г.

вторник, 16 февраля 2010 г.

Workbook_open

Private Sub Workbook_Open()

End Sub

четверг, 24 декабря 2009 г.

Sub Remove_External_Links()
' Макрос снимающий все связи с другими книгами
For Each Worksheet In Worksheets
If Worksheet.ProtectContents = True Then
Worksheet.Unprotect (5)
End If
Next Worksheet
alinks = ActiveWorkbook.LinkSources
'проверяем есть ли ссылка на другие файлы, если нет, то выходим из поцедуры
If IsArray(alinks) = False Then GoTo SET_PW
'находим количество элементов в массиве
Links = UBound(alinks)
For i = 1 To Links
Name1 = ActiveWorkbook.LinkSources
ActiveWorkbook.BreakLink alinks(i), Type:=xlExcelLinks
Next i
SET_PW:
For Each Worksheet In Worksheets
Worksheet.Protect (5)
Next Worksheet
End Sub