Cрочно нужна помощь!

Программирование на Visual Basic for Applications
murka
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 13.05.2004 (Чт) 22:36

Cрочно нужна помощь!

Сообщение murka » 17.05.2004 (Пн) 23:25

Пожалуйста помогите написать программу на VB! Очень срочно надо!
Дан документ WORD. В документет дана таблица. В ячейках расположены только числовые значения, если строка, то ошибка. Пользователь выделяет необходимую строку(часть строки) или столбец(часть столбца). Нужно написать макрос, который будет выполнять следующее:

1.Найти сумму выделенной строки(части строки) или столбца(части столбца). Результат распологается в новой ячейке, которая будет создаваться после выделенной части.
2. Умножение на число выделенной строки(части строки) или столбца(части столбца). Содержимое каждой ячейки будет домножаться на число и результат будет записываться в старой ячейке (содержимое каждой ячейки домноженное на число). Пользователь сам вводит число на которое будет производиться умножение.

При запуске программы пользователь должен сам выбирать что будет делать: суммировать или умножать на число (использование диалогового окна).

Пожалуйста помогите!!!!!!!!!!!!!!!!!!!!!!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.05.2004 (Вт) 10:58

Если предполагать, что пользователь всегда выделяет только ячейки таблицы (без проверок), то приблизительно так.

1.
Код: Выделить всё
Dim I As Long, res As Double, C As Long
res = 0
C = Selection.Cells(1).ColumnIndex
For I = 1 To Selection.Cells.Count
  res = res + Val(Selection.Cells(I).Range.Text)
Next I
Selection.InsertRowsBelow 1
Selection.Cells(C).Range.Text = res


2.
Код: Выделить всё
Dim S As String, A As Double, V As Double, I As Long
S = InputBox("Enter operation, eg. '*2', '+12.2'")
A = Val(Mid$(S, 2))
S = Left$(S, 1)
For I = 1 To Selection.Cells.Count
  V = Val(Selection.Cells(I).Range.Text)
  Select Case S
    Case "+"
      V = V + A
    Case "*"
      V = V + A
  End Select
  Selection.Cells(I).Range.Text = V
Next I
Lasciate ogni speranza, voi ch'entrate.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 104

    TopList