Excel. Трюки и эффекты | страница 115



' Запись в таблицу

ActiveCell.Offset(lngRow, intCol) = strValue

strValue = ""

ElseIf strCurChar <> Chr(34) Then

' Добавление символа в формируемое значение ячейки _

(кавычки игнорируются)

strValue = strValue & strCurChar

End If

Next i

' Переход к новой строке таблицы

intCol = 0

lngRow = lngRow + 1

Loop

' Закрываем файл

Close #1

End Sub

После того как данный код написан, в окне выбора макросов появятся макросы ExportAsText и ImportText. В соответствии в кодом макроса экспорт данных будет осуществляться в файл primer.txt, который будет создан на диске С:. Из этого же файла будут импортированы данные при выполнении макроса ImportText.

Перед запуском макроса ExportAsText необходимо выделить диапазон, данные которого следует экспортировать в текстовый файл. Импортируемые данные будут помещены в то место рабочего листа, в котором установлен курсор (при этом ячейка с курсором будет являться левой верхней ячейкой импортированного диапазона).

В текстовом файле столбцы обозначаются символом, (запятая).

Одновременное умножение всех данных диапазона

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

Листинг 3.57. Умножение данных

Sub MultAllCells()

Dim dblMult As Double

Dim cell As Range

' Ввод коэффициента для умножения

dblMult = InputBox("Введите коэффициент, на который следует

умножать")

' Умножение содержимого на введенный коэффициент

For Each cell In Selection

If IsNumeric(cell.Value) And cell.Value <> "" Then

' Умножаются только ячейки, содержащие числовые данные

cell.Value = cell.Value * dblMult

Else

MsgBox "В ячейке " & cell.Address & « нечисловое значение»

End If

Next

End Sub

Рассмотрим применение данного макроса на конкретном примере.

Допустим, в ячейках Al, В2 и C3 хранятся числовые значения 10, 15 и 20 соответственно. Выделим диапазон, охватывающий эти ячейки, и запустим приведенный выше макрос на выполнение. В результате откроется окно, изображенное на рис. 3.16.

Рис. 3.16. Окно ввода коэффициента


В данном окне с клавиатуры следует ввести коэффициент, на который необходимо умножить все значения выделенной области. Если ввести коэффициент 2, то в ячейках А1, В2 и C3 значения изменятся соответственно на 20, 30 и40.

При выполнении этого трюка не стоит забывать: если в какой-то ячейке выделенного диапазона хранится нечисловое значение, будет выдано соответствующее сообщение.