Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Ввести формулы в множество полей / 12 сообщений из 12, страница 1 из 1
15.04.2010, 17:33
    #36581072
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
Здравствуйте, подскажите пожалуйста, как можно сделать так, чтобы перебрать все поля столбца и ввести туда формулы.. их около 2000 полей и везде нужна формула перемножения соседнего столбца на заданный столбец.

Код: plaintext
1.
2.
3.
4.
5.
Ex.ActiveWorkbook.Sheets.Application.Range("G12").Select
Ex.ActiveWorkbook.Sheets.Application.ActiveCell.FormulaR1C1 = "=PRODUCT(RC[-1],R[-4]C)"
Ex.ActiveWorkbook.Sheets.Application.Range("G13").Select
Ex.ActiveWorkbook.Sheets.Application.ActiveCell.FormulaR1C1 = "=PRODUCT(RC[-1],R[-5]C)"
Ex.ActiveWorkbook.Sheets.Application.Range("G14").Select
Ex.ActiveWorkbook.Sheets.Application.ActiveCell.FormulaR1C1 = "=PRODUCT(RC[-1],R[-6]C)"

спасибо.
...
Рейтинг: 0 / 0
15.04.2010, 18:47
    #36581254
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
MasterWEB,

макрос запиши, что-ли, да посмотри что получилось
...
Рейтинг: 0 / 0
15.04.2010, 19:21
    #36581296
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
Игорь ГорбоносMasterWEB,

макрос запиши, что-ли, да посмотри что получилось

Судя по всему он уже записал макрос, да только не того, что надо. Надо макрос растягивания формулы было записать.

Но налицо противоречие в ТЗ.
MasterWEBперебрать все поля столбца и ввести туда формулы.. их около 2000 полей
Либо все, либо 2000

Макрос может выглядеть примерно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub rr()

Dim Cll As Range
For Each Cll In Application.ActiveSheet.Columns( 8 )
  Cll.FormulaR1C1 = "=PRODUCT(RC[-1],R[-4]C)"
Next

End Sub
только второй аргумент формулы надо заменить на фиксированную, а не относительную ссылку
...
Рейтинг: 0 / 0
15.04.2010, 23:39
    #36581573
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
Shocker.Pro,

Да, макрос я написал, но вот растягивание формулы не работает, вернее работает но перемножает неверно, не так как мне нужно

значение1

значение2 произв значения 1 и 2
значение3 произв значения 1 и 3
значение4 произв значения 1 и 4
значение5 произв значения 1 и 5
значение6 произв значения 1 и 6
значение7 произв значения 1 и 7

вот так вот нужно и так до 2000 значений с одним перемножаются.
При растягивании формулы.. почему то мне не верные значения выдает (
...
Рейтинг: 0 / 0
15.04.2010, 23:43
    #36581577
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
Shocker.Pro,

спасибо, попробую.
...
Рейтинг: 0 / 0
16.04.2010, 00:49
    #36581613
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
MasterWEBПри растягивании формулы.. почему то мне не верные значения выдает (

Потому что фиксированные ячейки в формулы забиваются так:
Код: plaintext
1.
2.
=A4+$A5
=A4+A$ 5 
=A4+$A$ 5 

Столбец или строка, предваряющаяся знаком $, не меняется при растягивании формулы
...
Рейтинг: 0 / 0
16.04.2010, 11:00
    #36581944
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
Спасибо , все получилось!
...
Рейтинг: 0 / 0
16.04.2010, 17:33
    #36582984
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
Подскажите, как мне из поля текст вывести в формулу цифру?
Делаю так ..

For Each Cll In Application.ActiveSheet.Columns(7)
Cll.FormulaR1C1 = "=PRODUCT(RC[-1], ' " & Form1.Text1.Text & " ')"
Next

ошибку выдает '1004'
...
Рейтинг: 0 / 0
16.04.2010, 17:40
    #36583011
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
используйте тэги....
Код: plaintext
1.
2.
For Each Cll In Application.ActiveSheet.Columns( 7 )
  Cll.FormulaR1C1 = "=PRODUCT(RC[-1], ' " & Form1.Text1.Text & " ')"
Next
...
Рейтинг: 0 / 0
16.04.2010, 17:41
    #36583017
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
А апострофы там зачем????
Код: plaintext
Cll.FormulaR1C1 = "=PRODUCT(RC[-1], " & Form1.Text1.Text & ")"
...
Рейтинг: 0 / 0
16.04.2010, 17:42
    #36583019
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
MasterWEBошибку выдает '1004'

Перечень ошибок в голове не держим.
В будущем пишите текст ошибки.
...
Рейтинг: 0 / 0
16.04.2010, 17:46
    #36583030
MasterWEB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Ввести формулы в множество полей
да, опострофы были лишними здесь :(
Спасибо!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Ввести формулы в множество полей / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]