PDA

Просмотр полной версии : VBA Excel


AlexZh
28.11.2002, 19:10
Всем привет!
В Excel-е при промощи Мастера записаал следующий макрос:
Range("A1:B1").Select
With Selection
.HorizontalAlignment = xlCenter
End With
т.е отцентрировал положение текста в ячейке.

А теперь хочу сделать тоже самое, используя Excel, как OLE сервер.
Проблема в том, что нужно вместо xlCenter подставить число, которое этой переменной соответствует.
Какое число подставить и где можно посмотреть значения переменных типа xlCenter, xlLeft и т.д
Спасибо.

corgi
01.12.2002, 20:28
Const xlCenter = -4108 (&HFFFFEFF4)
Const xlLeft = -4131 (&HFFFFEFDD)
Const xlRight = -4152 (&HFFFFEFC8)
В Excele запускаешь редактор Visual basic и там нажимаешь f2 или зпускаешь object browser
В разделе constants бедет то что тебе надо

YFred
20.12.2004, 14:45
Пишу макрос в Excel задача следующая:
Есть база данных в Excel и есть обновление базы в *.txt необходимо добавить строки из txt в Excel, но не все а только те которых нет в базе.
(сравнение ведется по 2-м столбцам).
Я начал делать, так
1) открыл txt - Workbooks.OpenText Filename:="....и т.д.
2) привел к нужному виду (как в базе)
3) теперь необходимо осуществить проверку и вставить данные в базу :( , но я не пойму как работать одновременно с 2-мя книгами в Excel

например Rows(1).delete обращение по умолчанию, а как обратиться например Книга2.Rows(1).delete

Надеюсь не сильно запутал. Помогите пожалуйста кто может :help:

EvroStandart
21.12.2004, 15:26
YFred:
а как обратиться например Книга2.Rows(1).delete

Sheets("Sheet1").Range("C9").Value
типа такого.

YFred
21.12.2004, 16:33
Всем спасибо разобрался сам. :yees:

Browin
23.03.2005, 08:27
Не могу решить следующую проблему:
Имеется диаграмма. Необходимо удалить все ряды данных, т.е. SeriesCollection. Но у меня никак не получается узнать количество этих рядов без активации (выделения) текущего Листа и Диаграммы, т.е. нижеследующее работает

ActiveSheet.ChartObjects(5).Activate
c = ActiveChart.SeriesCollection.Count

а это нет:

c = ActiveSheet.ChartObjects(5).SeriesCollection.Count

Если обращаться напрямую:

c = Sheets(ndiag).ChartObjects(5).SeriesCollection.Count

получаю следующую ошибку:

http://dziman.nm.ru/files/Pic15.png

Почему? Может нужно приведение типов сделать?

LightImage
26.03.2005, 09:12
а если c = Sheets(ndiag).Charts(5).SeriesCollection.Count ?

fresh wind
04.04.2005, 12:26
Visual Basic для Excel - с чего начать? :( То есть нужно разобраться в самых азах. Подкиньте ссылки на литературу.
Спасибо

LightImage
05.04.2005, 12:13
fresh wind
Хелп стандартный, очень неплохо написано ;) Рекомендую, сам только хелп пользую

fedalal
08.04.2005, 12:42
удобнее "учиться" с помощью записанных макросов. Там есть кнопочка записать макрос. Записываешь, делаешь что нибудь в excel а потом смотришь, какой он код на VB сгенерил. Очень удобно для обучения (сам в свое время так делал, правда давно это было)