Страницы

суббота, 21 ноября 2015 г.

Справочник vba

[План учебного курса Программирование в Microsoft Office для пользователей - AskIt.RU] хорошо, посмотри! http://www.askit.ru/custom/vba_office/vba_office_plan.htm

Range vba excel свойства и методы

Объект Excel.Range, программная работа с ячейками и диапазонами (наборами) ячеек средствами VBA, создание объекта Excel.Range, свойства, методы и события объекта Excel.Range Пожалуй, наиболее часто используемый объект в иерархии объектной модели Excel — это объект Range. Этот объект может представлять одну ячейку, несколько ячеек (в том числе несмежные ячейки или наборы несмежных ячеек) или целый лист. Если в Word вы могли для ввода данных использовать как объект Range, так и объект Selection, то в Excel все сводится к объекту Range: если вам нужно ввести данные в ячейку или отформатировать ее, то вы должны получить объект Range, представляющий эту ячейку; если вы хотите сделать что-то с выделенными вами ячейками, вам необходимо получить объект Range, представляющий выделение; если вам нужно просто что-то сделать с группой ячеек, первое ваше действие — опять-таки получить объект Range, представляющий эту группу ячеек. В Microsoft Knowledge Base есть статья под номером 291308, в котором описываются 22 способа получения объекта Range в Excel. Вряд ли вы будете пользоваться всеми эти способами. Мы рассмотрим только самые распространенные: самый простой и очевидный способ — воспользоваться свойством Range. Это свойство предусмотрено для объектов Application, Worksheet и самого объекта Range (если вы решили создать новый диапазон на основе уже существующего). Например, получить ссылку на объект Range, представляющий ячейку A1, можно так:

Vba электронная почта

Отсылка электронной почты Отсылка электронной почты с данными рабочего листа может производится при помощи средств Microsoft Outlook. Листинг 16. Отсылка электронной почты

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

Выбор прямоугольного диапазона ячеек Для выбора прямоугольного диапазона ячеек вокруг определенной ячейки следует использовать метод CurrentRegion. При помощи метода CurrentRegion выбирается диапазон, ограниченный пустыми строками и столбцами в любом сочетании. Применение метода CurrentRegion поясняется приведенным ниже примером. 

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 - CyberForum.ru] хорошо, посмотри! http://www.cyberforum.ru/vba/thread432513.html