Microsoft Office [Excel]
Peltiertech Blog
Общее·количество·просмотров·страницы
среда, 7 апреля 2010 г.
среда, 31 марта 2010 г.
Как закрыть книгу и сохранить изменения?
Private Sub ckdis()
'Application.ScreenUpdating = False
'Set ActWbk = Workbooks("Êíèãà1.xlsx")
Workbooks("Название книги.xlsx").Close SaveChanges:=True
'Application.ScreenUpdating = True
End Sub
'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
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
' отобразит в окне 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 г.
четверг, 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
' Макрос снимающий все связи с другими книгами
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
Подписаться на:
Сообщения (Atom)