Страницы
Ярлыки
пятница, 27 ноября 2015 г.
среда, 25 ноября 2015 г.
.color
Color Name | Constant | Value | Color |
Black | vbBlack | &h00 | |
Red | vbRed | &hFF | |
Green | vbGreen | &hFF00 | |
Yellow | vbYellow | &hFFFF | |
Blue | vbBlue | &hFF0000 | |
Magenta | vbMagenta | &hFF00FF | |
Cyan | vbCyan | &hFFFF00 | |
White | vbWhite | &hFFFFFF |
воскресенье, 22 ноября 2015 г.
Vba
Советы по работе vba excel
Range
Свойство Cells позволяет обращаться к отдельным ячейкам в диапазоне. При работе с этим свойством в отдельном диапазоне ячеек нумерация ячеек ведется по собственной системе координат. Иными словами, диапазон выступает как небольшой виртуальный рабочий лист: левая верхняя ячейка диапазона получает индекс (1, 1), ячейка, расположенная во втором столбце и третьей строке диапазона, - индекс (3,2) и т.д. Свойства Columns и Rows возвращают, соответственно, коллекции, которые содержат столбцы и строки диапазона. Например, так (листинг 15.18.) можно узнать количество строк в диапазоне, ссылка на который хранится в переменной obj_Range. num_Rows = obj_Range.Rows.Count Листинг 15.18. Количество строк в диапазоне Воспользуемся свойством Cell для диапазона размером 6х5 ячеек, чтобы заполнить этот диапазон данными (листинг 15.19.).
суббота, 21 ноября 2015 г.
Справочник vba
Range vba excel свойства и методы
Vba электронная почта
Private Sub cmdEMail_Click()
Dim objOL As New Outlook.Application
Dim objMail As MailItem
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
With objMail .To = Range("B1")
.Value .Body = Range("B2")
.Value .Subject = Range("B3")
.Value .CC = Range("B4")
.Value .Display
End With
Set objMail = Nothing
Set objOL = Nothing
End Sub
Выделение диапазона в vba
ActiveSheet.Range("a1").CurrentRegion.Select
Выполнение этого кода приводит к выбору ячеек с A1 по C4. Ниже приведены другие способы выбора того же диапазона ячеек.
ActiveSheet.Range("a1", _ ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
-или-
ActiveSheet.Range("a1:" & _ ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
В некоторых случаях может понадобиться выбрать ячейки A1-C6. В данном примере метод CurrentRegion не сработает из-за пустой строки 5. Приведенные ниже примеры позволяют выбрать все ячейки.
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
-или-
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row ActiveSheet.Range("a1:" & _ ActiveSheet.Cells(lastRow, lastCol).Address).Select
Книги по vba
Справочник VBA (русский)
четверг, 19 ноября 2015 г.
среда, 18 ноября 2015 г.
Сводная таблица
Dim PTRange As Range
Set PTRange = Sheets("Sheet1").Range("A1").CurrentRegion
ActiveSheet.PivotTables("PivotTable2").ChangePivotCache
ActiveWorkbook.PivotCaches.Create _ (SourceType:=xlDatabase, SourceData:= _
PTRange, Version:=xlPivotTableVersion10)
'Refresh PT.
ActiveSheet.PivotTables("PivotTable2").PivotCache.Refresh
End Sub
вторник, 17 ноября 2015 г.
Сводная таблица создание обновлнение
Range (часть 2)
понедельник, 16 ноября 2015 г.
Perch 1.1.4
воскресенье, 15 ноября 2015 г.
Range
Range все предести
суббота, 14 ноября 2015 г.
Range vba 2
Range vba
Фукции vba
среда, 11 ноября 2015 г.
#ЗНАЧ!
Замена звездочки
понедельник, 9 ноября 2015 г.
VBA и сводная таблица
Sub SvodTable() Dim i As Integer Dim s As String
пятница, 6 ноября 2015 г.
Последняя заполненная ячейка
Перевод даты в текстовом формате в формат даты
Из 1С сохраняю таблицу и даты переходят в эксель в виде 01.02.2010 (1 февраля). При этом эксель рассматривает их как текст. Попытки преврать это в дату с помощью Формата ни к чему не приводят. Однако, стоит дважды щелкнуть по ячейке (или нажать Enter), как текст превращается в дату (внешне при этом не меняясь). Также, если я руками ввожу 01.02.2010, эксель так же рассматривает это как дату.
Как мне преобразовать сотни ячеек в даты? Очень желательно НЕ использовать формулы, так как это придется делать часто, таблицы и так перегружены формулами. Хотелось бы просто выделить колонку, и за пару быстрых действий все преобразовать. Это возможно?
Эксель русскоязычный.
Ручной способ: выделить столбец с этими "датами" - Найти и заменить (Ctrl+H) заменить "." на "." (Точку на точку), заменить все.
Метод с формулами: =ЗНАЧЕН(B8) , где B8 - ячейка с датой, которая воспринимается как текст.
Я нашел возможно самое простое. Выделить колонку и заменить точку на точку. Тогда даже формат не изменится.