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

среда, 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