Microsoft Excel reporting and 
 data analyzing with practically no coding. 
 .Net, ActiveX, and VCL versions. 
 www.AfalinaSoft.com

Главная    Продукты    Downloads    Поддержка    Регистрация    Delphi & Excel

[ English ]

MS Office COM Add-ins. Excel reports with minimal coding. Save your time. Get impressive results. VCL & OCX. Microsoft Excel reporting 
 and data analyzing

Delphi & Excel


Delphi & Excel
Microsoft Excel
Часть 1
Часть 2

Продукты



Полезные Советы и Хитрости по Microsoft Excel и Excel VBA - часть 2.

Хитрости и советы: Microsoft Excel


Часть 1

  1. Способы подсчета числа ячеек.
  2. Суммирование и подсчет числа значений с использованием нескольких критериев.

Часть 2

  1. Как из нескольких xls-файлов сделать одну книгу Excel.
  2. Как правильно очистить ячейку от содержимого.
  3. Создание собственных функций рабочего листа средствами VBA.

Смотрите также хитрости и советы: Delphi & Microsoft Excel.


1. Как из нескольких xls-файлов сделать одну книгу Excel.

Проще всего это сделать копированием листов целиком из одной книги в другую:

  1. Создайте/Откройте рабочую книгу, в которую будут помещены результаты.
  2. Откройте xls-файл с исходными данными.
  3. Сделайте активным копируемый лист.
  4. Выберите "Правка, Переместить/скопировать лист" ("Edit, Move or Copy Sheet") или в контекстном меню "Переместить/скопировать" ("Move or Copy")
  5. В возникшем диалоговом окне установите флажок "Создать копию" ("Create a copy").
  6. В списке "В книгу" ("To book") укажите книгу, в которую вы хотите копировать (в списке будут только открытые в данный момент рабочие книги).
  7. Выберите из списка "Перед листом" ("Before sheet") название рабочего листа, перед которым будет вставлена копия.
  8. Жмите "ОК".
  9. Повторите пункты 2-8 для всех нужных листов и файлов.

Примечания:

  • если вы любите все делать с помощью мышки, разместите обе книги на экране, захватите курсором ярлычок нужного вам листа и удерживая <Ctrl> перенесите его из одной книги в другую;
  • для копирования сразу нескольких листов, необходимо их предварительно сгруппировать;
  • к сожалению, при копировании листов между книгами переносятся только первые 255 символов ячейки.

2. Как правильно очистить ячейку от содержимого.

Для того, чтобы очистить ячейку, нужно использовать не Value = "", а Range.ClearContents. Если не сделать этого, ячейка по-прежнему будет в UsedRange листа.

3. Создание собственных функций рабочего листа средствами VBA.

В Microsoft Excel существует множество готовых функций, но их не всегда достаточно. Однако вы можете из любой формулы рабочего листа вызвать собственную функцию на VBA, реализовав в ней все необходимые вам операции:

Function MyFunc (ByVal Param as Variant)
Dim Result as Integer
Application.Volatile True
....
MyFunc = Result
End Function

По умолчанию, функции VBA в диапазоне рабочего листа являются неизменяемыми, т.е не вызываются при пересчете листа, на котором они расположены. Чтобы пересчитывать результат вашей функции вместе с остальными формулами, необходимо в теле функции вызвать метод Volatile объекта Application (как показано на примере выше), передав в качестве аргумента True.

Эти функции вы свободно можете использовать в формулах областей XL Report.

Copyright © 1999-2003
Afalina Co., Ltd.
Все права защищены.

WebMaster