Страницы
Ярлыки
1С
(16)
1С 8.3
(1)
2GIS
(1)
автоактивация
(3)
Активация
(3)
Андроид
(113)
Антивирус
(2)
Аудио
(2)
биоритмы
(1)
Блок питания
(22)
боль в спине
(1)
браузер
(2)
бросить курить
(1)
буквы соответствие
(1)
бумажник
(1)
бюджетирование
(1)
ВАЗ 2110
(1)
вацап
(1)
видеонаблюдение
(8)
Видеосвязь
(1)
гаджет
(1)
Галстук
(1)
геокоординаты
(1)
дача
(1)
для дома
(1)
дом
(2)
драйвера
(6)
Дубликаты
(1)
еда
(1)
запись
(1)
Зарядка акб
(1)
Зарядное устройство
(1)
звук
(4)
здоровье
(8)
знаки зодиака
(1)
зрение
(1)
игнтернет
(1)
иероглифы
(1)
Изделия из дерева
(1)
Интернет
(10)
Интернет-магазины
(3)
Кино
(1)
ключница
(1)
Книги Журналы
(1)
кожаная обувь
(4)
командная строка
(1)
конвертор
(1)
кошелек
(1)
кресло-качалка
(1)
кухня
(2)
Лекарства
(1)
логика
(1)
макрос
(1)
медицина
(1)
мозги
(1)
морщины
(2)
мтс
(1)
музыка
(9)
мультики
(1)
Мыльные_пузыри
(1)
Натуральная кожа
(56)
Облако
(1)
омск
(1)
Он Лаин библиотеки
(1)
органайзер
(1)
оригами
(1)
Отбеливание
(1)
отслеживание посылок
(1)
Папка
(1)
Пароли
(2)
пароль
(3)
партмоне
(1)
парфюм
(1)
переименование файлов
(1)
питание
(1)
Планшет
(5)
поза сна
(1)
поздравление
(1)
поиск
(1)
поиск дублей
(1)
поисковик
(1)
Полезные сайты
(1)
портабле
(2)
принтер
(4)
Программы
(58)
простуда
(1)
расширения
(1)
редактор музыкальных файлов
(1)
Русский язык
(1)
рут
(2)
сеть
(8)
Скрыть информацию
(1)
Стиль
(1)
стихи
(2)
сумка
(1)
суставы
(3)
теги
(1)
трек-номер
(1)
тренинг
(1)
тренинг памяти
(1)
удаленный доступ
(2)
узлы
(1)
УНЧ
(3)
Управление компьютером
(2)
Управленческий учет
(2)
Успокоительные средства
(1)
фильмы
(2)
Флешка
(53)
фото
(2)
цвета в одежде
(1)
цена
(1)
экран не гаснет
(1)
эл почта
(2)
Ютуб
(1)
Access
(10)
Acronis True Image WD Edition
(1)
AliExpress
(1)
ALT-коды
(1)
audi
(1)
Avira Antivirus
(1)
bat
(2)
BIOS
(4)
chrom
(15)
Chrome
(2)
Cube iPlay 10 U83
(1)
Dism++
(2)
epson 1260
(1)
ERD Commander
(1)
Excel
(42)
Faceter
(1)
Firefox
(1)
GHOST32
(4)
gif анимация
(1)
Google
(1)
Google Hrome
(1)
Google Play
(1)
Grub4Dos
(7)
HDD
(1)
Honor
(1)
HP USB Disk Storage Tool
(1)
IPTV
(1)
KPI
(1)
Linux
(16)
NirCmd
(1)
office
(4)
PDF
(1)
Pinterest
(1)
portable
(2)
Prestigio3502
(1)
Rufus
(2)
SSD
(1)
torrent
(1)
UEFI
(1)
VBA
(42)
WEB ресурсы
(2)
WiFi
(2)
Windows
(77)
Windows 10
(5)
Windows 11
(2)
Windows 7
(24)
YouTube
(15)
понедельник, 6 июня 2016 г.
воскресенье, 5 июня 2016 г.
Браслет
Check this out:
https://issuu.com/asartis/docs/libro_pelle_-_leather_braiding_-_trenzado_de_cuero/c/smc2og2
пятница, 3 июня 2016 г.
Гиперссылка в EXCEL
Так же можно создать гиперссылку, переходящую на определенную ячейку на листе:
=ГИПЕРССЫЛКА("#Лист2!D4";"Перейти в ячейку D4 Лист2")
Решетка перед именем листа указывает функции, что переход будет осуществляться в указанную точку открытого документа и поэтому путь документа для открытия не нужен.
Ссылку на ячейку можно указывать динамически, ссылаясь на определенную ячейку, не вписывая её адрес(на примере D2):
=ГИПЕРССЫЛКА("#Лист2!"&ЯЧЕЙКА("адрес";D4);"Перейти в ячейку "&ЯЧЕЙКА("адрес";D4)&" Лист2")
Можно указать ссылку на ячейку листа в другой книге:
=ГИПЕРССЫЛКА("#'[Другая книга.xls]Лист2'!"&ЯЧЕЙКА("адрес";D4);"Перейти в ячейку "&ЯЧЕЙКА("адрес";D4)&" Лист2 Другая книга.xls")
Или указать путь к файлу, который необходимо открыть по нажатии ячейки:
=ГИПЕРССЫЛКА("C:\Users\Дмитрий\Desktop\Книга 1.xls";"Открыть книгу Книга 1.xls")
При использовании гиперссылки из функции для открытия книги нельзя применить так же переход на нужный лист и ячейку. Это связано с ограничением именно самой функции. Т.е. нельзя указать что-то вроде: "C:\Users\Дмитрий\Desktop\Книга1.xls#Лист2!D4".
Важно: Книга, на которую ссылается функция ГИПЕРРСЫЛКА должна быть открыта. Если в имени книги или листа содержатся пробелы(или иные знаки препинания, кроме точки и нижнего подчеркивания), то обязательно в начале имени книги (перед [ ) и после имени листа ставить апостроф('). Я специально в одной из последних функций привел пример именно с пробелом - для наглядности:
=ГИПЕРССЫЛКА("#'[Другая книга.xls]Лист2'!"&ЯЧЕЙКА("адрес";D4);"Перейти в ячейку "&ЯЧЕЙКА("адрес";D4)&" Лист2 Другая книга.xls")
Поэтому если не уверены в том, будет ли имя листа и книги содержать такие символы, лучше в формуле проставлять апострофы всегда. Ошибкой это не будет и гиперссылка будет работать, даже если таких символов в имени не окажется.
Решетка перед именем листа указывает функции, что переход будет осуществляться в указанную точку открытого документа и поэтому путь документа для открытия не нужен.
Ссылку на ячейку можно указывать динамически, ссылаясь на определенную ячейку, не вписывая её адрес(на примере D2):
=ГИПЕРССЫЛКА("#Лист2!"&ЯЧЕЙКА("адрес";D4);"Перейти в ячейку "&ЯЧЕЙКА("адрес";D4)&" Лист2")
Можно указать ссылку на ячейку листа в другой книге:
=ГИПЕРССЫЛКА("#'[Другая книга.xls]Лист2'!"&ЯЧЕЙКА("адрес";D4);"Перейти в ячейку "&ЯЧЕЙКА("адрес";D4)&" Лист2 Другая книга.xls")
Или указать путь к файлу, который необходимо открыть по нажатии ячейки:
=ГИПЕРССЫЛКА("C:\Users\Дмитрий\Desktop\Книга 1.xls";"Открыть книгу Книга 1.xls")
При использовании гиперссылки из функции для открытия книги нельзя применить так же переход на нужный лист и ячейку. Это связано с ограничением именно самой функции. Т.е. нельзя указать что-то вроде: "C:\Users\Дмитрий\Desktop\Книга1.xls#Лист2!D4".
Важно: Книга, на которую ссылается функция ГИПЕРРСЫЛКА должна быть открыта. Если в имени книги или листа содержатся пробелы(или иные знаки препинания, кроме точки и нижнего подчеркивания), то обязательно в начале имени книги (перед [ ) и после имени листа ставить апостроф('). Я специально в одной из последних функций привел пример именно с пробелом - для наглядности:
=ГИПЕРССЫЛКА("#'[Другая книга.xls]Лист2'!"&ЯЧЕЙКА("адрес";D4);"Перейти в ячейку "&ЯЧЕЙКА("адрес";D4)&" Лист2 Другая книга.xls")
Поэтому если не уверены в том, будет ли имя листа и книги содержать такие символы, лучше в формуле проставлять апострофы всегда. Ошибкой это не будет и гиперссылка будет работать, даже если таких символов в имени не окажется.
вторник, 31 мая 2016 г.
Удаление пустых строк VBA
Sub DeleteEmptyRows()
LastRow = ActiveSheet.UsedRange.Row - 1_ + ActiveSheet.UsedRange.Rows.Count
'определяем размеры таблицы
Application.ScreenUpdating = False
For r = LastRow To 1 Step -1
'проходим от последней строки до первой
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
'если в строке пусто - удаляем ее
Next r
End Sub
LastRow = ActiveSheet.UsedRange.Row - 1_ + ActiveSheet.UsedRange.Rows.Count
'определяем размеры таблицы
Application.ScreenUpdating = False
For r = LastRow To 1 Step -1
'проходим от последней строки до первой
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
'если в строке пусто - удаляем ее
Next r
End Sub
Список файлов в папке
Sub FileList()
Dim V As String
Dim BrowseFolder As String
'открываем диалоговое окно выбора папки
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Выберите папку или диск"
.Show
On Error Resume Next
Err.Clear
V = .SelectedItems(1)
If Err.Number <> 0 Then
MsgBox "Вы ничего не выбрали!"
Exit Sub
End If
End With
BrowseFolder = CStr(V)
'добавляем лист и выводим на него шапку таблицы
ActiveWorkbook.Sheets.Add
With Range("A1:E1")
.Font.Bold = True
.Font.Size = 12
End With
Range("A1").Value = "Имя файла"
Range("B1").Value = "Путь"
Range("C1").Value = "Размер"
Range("D1").Value = "Дата создания"
Range("E1").Value = "Дата изменения"
'вызываем процедуру вывода списка файлов
'измените True на False, если не нужно выводить файлы из вложенных папок
ListFilesInFolder BrowseFolder, True
End Sub
Private Sub ListFilesInFolder(ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean)
Dim FSO As Object
Dim SourceFolder As Object
Dim SubFolder As Object
Dim FileItem As Object
Dim r As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.getfolder(SourceFolderName)
r = Range("A65536").End(xlUp).Row + 1 'находим первую пустую строку
'выводим данные по файлу
For Each FileItem In SourceFolder.Files
Cells(r, 1).Formula = FileItem.Name
Cells(r, 2).Formula = FileItem.Path
Cells(r, 3).Formula = FileItem.Size
Cells(r, 4).Formula = FileItem.DateCreated
Cells(r, 5).Formula = FileItem.DateLastModified
r = r + 1
X = SourceFolder.Path
Next FileItem
'вызываем процедуру повторно для каждой вложенной папки
If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If
Columns("A:E").AutoFit
Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing
End Sub
Dim V As String
Dim BrowseFolder As String
'открываем диалоговое окно выбора папки
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Выберите папку или диск"
.Show
On Error Resume Next
Err.Clear
V = .SelectedItems(1)
If Err.Number <> 0 Then
MsgBox "Вы ничего не выбрали!"
Exit Sub
End If
End With
BrowseFolder = CStr(V)
'добавляем лист и выводим на него шапку таблицы
ActiveWorkbook.Sheets.Add
With Range("A1:E1")
.Font.Bold = True
.Font.Size = 12
End With
Range("A1").Value = "Имя файла"
Range("B1").Value = "Путь"
Range("C1").Value = "Размер"
Range("D1").Value = "Дата создания"
Range("E1").Value = "Дата изменения"
'вызываем процедуру вывода списка файлов
'измените True на False, если не нужно выводить файлы из вложенных папок
ListFilesInFolder BrowseFolder, True
End Sub
Private Sub ListFilesInFolder(ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean)
Dim FSO As Object
Dim SourceFolder As Object
Dim SubFolder As Object
Dim FileItem As Object
Dim r As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.getfolder(SourceFolderName)
r = Range("A65536").End(xlUp).Row + 1 'находим первую пустую строку
'выводим данные по файлу
For Each FileItem In SourceFolder.Files
Cells(r, 1).Formula = FileItem.Name
Cells(r, 2).Formula = FileItem.Path
Cells(r, 3).Formula = FileItem.Size
Cells(r, 4).Formula = FileItem.DateCreated
Cells(r, 5).Formula = FileItem.DateLastModified
r = r + 1
X = SourceFolder.Path
Next FileItem
'вызываем процедуру повторно для каждой вложенной папки
If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If
Columns("A:E").AutoFit
Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing
End Sub
Если захотите, чтобы вместо пути к файлу в столбце B выводилась живая гиперссылка, то замените строку
Cells(r, 2).Formula = FileItem.Path
на
Cells(r, 2).Formula = "=HYPERLINK(""" & FileItem.Path & """)"
Оглавление книги Excel
http://www.planetaexcel.ru/techniques/12/60/
Sub SheetList()
Dim sheet As Worksheet
Dim cell As Range
With ActiveWorkbook
For Each sheet In ActiveWorkbook.Worksheets
Set cell = Worksheets(1).Cells(sheet.Index, 1)
.Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", SubAddress:="'" & sheet.Name & "'" & "!A1"
cell.Formula = sheet.Name
Next
End With
End Sub
Закройте редактор Visual Basic и вернитесь в Excel. Добавьте в книгу чистый лист и поместите его на первое место. Затем нажмите Alt+F8 или откройте менюСервис - Макрос - Макросы (Tools - Macro - Macros). Найдите там созданный макрос SheetList и запустите его на выполнение. Макрос создаст на первом листе книги список гиперссылок с названиями листов. Щелчок по любой из них переместит Вас на нужный лист.
Название листа - =ЕСЛИОШИБКА(ЗАМЕНИТЬ(ИНДЕКС(Оглавление;СТРОКА()-3);1;НАЙТИ("]";ИНДЕКС(Оглавление;СТРОКА()-3));"");"")
Ссылка - =ГИПЕРССЫЛКА("#"&"'"&B4&"'"&"!A10";">>>")
Дата - =ЕСЛИОШИБКА(ЕСЛИ(ДВССЫЛ("'"&B4&"'"&"!A1")=0;"";ДВССЫЛ("'"&B4&"'"&"!A1"));"")
Наименование - =ДВССЫЛ("'"&B4&"'"&"!A3")
ЗП - =ДВССЫЛ("'"&B4&"'"&"!E5")
налог на ЗП - =ДВССЫЛ("'"&B4&"'"&"!E6")
амортизация - =ДВССЫЛ("'"&B4&"'"&"!E7")
материалы - =ДВССЫЛ("'"&B4&"'"&"!E8")
всп материалы - =ДВССЫЛ("'"&B4&"'"&"!E9")
и далее по столбцам
=ДВССЫЛ("'"&B4&"'"&"!E10")
=ДВССЫЛ("'"&B4&"'"&"!E11")
=ДВССЫЛ("'"&B4&"'"&"!E12")
=ДВССЫЛ("'"&B4&"'"&"!E13")
=ДВССЫЛ("'"&B4&"'"&"!E18")
=ДВССЫЛ("'"&B4&"'"&"!E19")
Способ 1. Создаваемые вручную гиперссылки
Вставьте в книгу пустой лист и добавьте на него гиперссылки на нужные вам листы, используя команду Вставка - Гиперссылка (Insert - Hyperlink). В открывшемся окне нужно выбрать слева опцию Место в документе и задать внешнее текстовое отображение и адрес ячейки, куда приведет ссылка:
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление. Чтобы не заниматься ручным созданием гиперссылок и копированием их потом на каждый лист, лучше использовать другой метод - функцию ГИПЕРССЫЛКА (HYPERLINK). Выделяем все листы в книге, куда хотим добавить обратную ссылку (для массового выделения листов можно использовать клавиши Shift и/или Ctrl) и в любую подходящую ячейку вводим функцию следующего вида:
=ГИПЕРССЫЛКА("#Оглавление!A1";"Назад в оглавление")
Эта функция создаст в текущей ячейке на всех выделенных листах гиперссылку с текстом "Назад в оглавление", щелчок по которой будет возвращать пользователя к листу Оглавление.
Способ 2. Динамическое оглавление с помощью формул
Это хоть и слегка экзотический, но весьма красивый и удобный способ создания автоматического листа оглавления вашей книги. Экзотический – потому что в нем используется недокументированная XLM-функция ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ (GET.WORKBOOK), оставленная разработчиками для совместимости со старыми версиями Excel. Эта функция выгружает список всех листов текущей книги в заданную переменную, из которой мы потом можем их извлечь и использовать в нашем оглавлении.
Откройте Диспетчер Имен на вкладке Формулы (Formulas – Name Manager) и создайте новый именованный диапазон с именем, допустим, Оглавление. В поле Диапазон (Reference) введите вот такую формулу:
=ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1)
=GET.WORKBOOK(1)
=GET.WORKBOOK(1)
Теперь в переменной Оглавление содержатся наши искомые имена. Чтобы извлечь их оттуда на лист, можно воспользоваться функцией ИНДЕКС (INDEX), которая «выдергивает» элементы из массива по их номеру:
=ИНДЕКС(Оглавление; СТРОКА())
=INDEX(Оглавление; ROW())
=INDEX(Оглавление; ROW())
Функция СТРОКА (ROW) выдает номер текущей строки и, в данном случае, нужна только для того, чтобы вручную не создавать отдельный столбец с порядковыми номерами извлекаемых элементов (1,2,3…). Таким образом, в ячейке А1 у нас получится имя первого листа, в А2 – имя второго и т.д.
Неплохо. Однако, как можно заметить, функция выдает не только имя листа, но и имя книги, которое нам не нужно. Чтобы его убрать, воспользуемся функциями ЗАМЕНИТЬ (SUBST) и НАЙТИ (FIND), которые найдут символ закрывающей квадратной скобки ( ] ) и заменят весь текст до этого символа включительно на пустую строку (""). Откроем еще раз Диспетчер имен с вкладки Формулы (Formulas - Name Manager), двойным щелчком откроем созданный диапазон Оглавление и изменим его формулу:
=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ("]";ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));"")
=SUBST(GET.WORKBOOK(1);1;FIND("]";GET.WORKBOOK(1));"")
=SUBST(GET.WORKBOOK(1);1;FIND("]";GET.WORKBOOK(1));"")
Теперь наш список листов будет выглядеть существенно лучше:
Небольшая побочная трудность заключается в том, что наша формула в именованном диапазоне Оглавление будет пересчитываться только при вводе, либо при принудительном пересчете книги нажатием на сочетание клавиш Ctrl+Alt+F9. Чтобы обойти этот неприятный момент, добавим к нашей формуле небольшой "хвост":
=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ("]";ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));"")&Т(ТДАТА()) =SUBST(GET.WORKBOOK(1);1;FIND("]";GET.WORKBOOK(1));"")&T(NOW())
Функция ТДАТА (NOW) выдает текущую дату (с временем), а функция Т превращает эту дату в пустую текстовую строку, которая затем приклеивается к нашему имени листа с помощью оператора склейки (&). Т.е. имя листа, фактически, не меняется, но поскольку функция ТДАТА пересчитывается и выдает новое время и дату при любом изменении листа, то и остальная часть нашей формулы вынуждена будет заново пересчитаться тоже и – как следствие – имена листов будут обновляться постоянно.
Для скрытия ошибок #ССЫЛКА (#REF), которые будут появляться, если скопировать нашу формулу с функцией ИНДЕКС на большее количество ячеек, чем у нас есть листов, можно использовать функцию ЕСЛИОШИБКА (IFERROR), которая перехватывает любые ошибки и заменяет их на пустую строку (""):
И, наконец, для добавления к именам листов "живых" гиперссылок для быстрой навигации, можно использовать все ту же функцию ГИПЕРССЫЛКА(HYPERLINK), которая будет формировать адрес для перехода из имени листа:
Способ 3. Макрос
И, наконец, для создания оглавления можно использовать и несложный макрос. Правда, запускать его придется каждый раз при изменении структуры книги - в отличие от Способа 2, макрос их сам не отслеживает.
Откройте редактор Visual Basic, нажав Alt+F11 или выбрав (в старых версиях Excel) в меню Сервис - Макрос - Редактор Visual Basic (Tools - Macro - Visual Basic Editor). В открывшемся окне редактора создайте новый пустой модуль (меню Insert - Module) и скопируйте туда текст этого макроса:
Sub SheetList()
Dim sheet As Worksheet
Dim cell As Range
With ActiveWorkbook
For Each sheet In ActiveWorkbook.Worksheets
Set cell = Worksheets(1).Cells(sheet.Index, 1)
.Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", SubAddress:="'" & sheet.Name & "'" & "!A1"
cell.Formula = sheet.Name
Next
End With
End Sub
Закройте редактор Visual Basic и вернитесь в Excel. Добавьте в книгу чистый лист и поместите его на первое место. Затем нажмите Alt+F8 или откройте менюСервис - Макрос - Макросы (Tools - Macro - Macros). Найдите там созданный макрос SheetList и запустите его на выполнение. Макрос создаст на первом листе книги список гиперссылок с названиями листов. Щелчок по любой из них переместит Вас на нужный лист.
Для удобства можно создать также и обратные ссылки на всех листах вашей книги, которые будут вести назад в оглавление, как это было описано в Способе 1.
Способ мой. Мой вариант
тСсылка - =ГИПЕРССЫЛКА("#"&"'"&B4&"'"&"!A10";">>>")
Дата - =ЕСЛИОШИБКА(ЕСЛИ(ДВССЫЛ("'"&B4&"'"&"!A1")=0;"";ДВССЫЛ("'"&B4&"'"&"!A1"));"")
Наименование - =ДВССЫЛ("'"&B4&"'"&"!A3")
ЗП - =ДВССЫЛ("'"&B4&"'"&"!E5")
налог на ЗП - =ДВССЫЛ("'"&B4&"'"&"!E6")
амортизация - =ДВССЫЛ("'"&B4&"'"&"!E7")
материалы - =ДВССЫЛ("'"&B4&"'"&"!E8")
всп материалы - =ДВССЫЛ("'"&B4&"'"&"!E9")
и далее по столбцам
=ДВССЫЛ("'"&B4&"'"&"!E10")
=ДВССЫЛ("'"&B4&"'"&"!E11")
=ДВССЫЛ("'"&B4&"'"&"!E12")
=ДВССЫЛ("'"&B4&"'"&"!E13")
=ДВССЫЛ("'"&B4&"'"&"!E18")
=ДВССЫЛ("'"&B4&"'"&"!E19")
Подписаться на:
Сообщения (Atom)
