Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2014, 12:14   #1
fun_kok
Пользователь
 
Регистрация: 19.02.2014
Сообщений: 15
По умолчанию Формула с изменяемым именем листа

Есть формула на VBA:
Range("G3").FormulaLocal = "=НАЙТИ(""-""; Лист 1!C3)".
Как сделать, чтоб можно было в цикле использовать эту формулу (Лист 1!C3, Лист 2!C3, Лист 3!C3......Лист n!C3), т.е. перебрать все листы.
fun_kok вне форума Ответить с цитированием
Старый 20.02.2014, 12:30   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а смысл?

в результате:
в Range("G3") у Вас по очереди будут меняться данные и в итоге останется "=НАЙТИ(""-""; Лист n!C3)"
можно сразу вписать Range("G3").FormulaLocal = "=НАЙТИ(""-""; Лист n!C3)"
где n - номер последнего листа.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.02.2014, 12:36   #3
fun_kok
Пользователь
 
Регистрация: 19.02.2014
Сообщений: 15
По умолчанию

Range("G3").FormulaLocal = "=НАЙТИ(""-""; Лист 1!C3)" - это только часть формулы, мне нужно понять как правльно записать формулу используя переменную в имени листа.
fun_kok вне форума Ответить с цитированием
Старый 20.02.2014, 12:56   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
for i = 1 to n
  Range("G3").FormulaLocal = "=НАЙТИ(""-""; Лист " & i & "!C3)"
next i
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.02.2014, 13:59   #5
fun_kok
Пользователь
 
Регистрация: 19.02.2014
Сообщений: 15
По умолчанию

Спасибо! делал так же, просто забыл один & после i поставить.
fun_kok вне форума Ответить с цитированием
Старый 20.02.2014, 14:06   #6
fun_kok
Пользователь
 
Регистрация: 19.02.2014
Сообщений: 15
По умолчанию

IgorGO
Есть след таблица:
http://pixs.ru/showimage/123png_1795831_10952106.png
Разницу мячей я вычислил формулами Эксель. Как мне лучше теперь вычислить общую разницу по каждому человеку(ЧЧЧ,, РРР.......), формулами или VBA??? если поможешь с алгоритмом , буду рад.
fun_kok вне форума Ответить с цитированием
Старый 20.02.2014, 15:08   #7
fun_kok
Пользователь
 
Регистрация: 19.02.2014
Сообщений: 15
По умолчанию

Разобрался.
fun_kok вне форума Ответить с цитированием
Старый 20.02.2014, 16:30   #8
fun_kok
Пользователь
 
Регистрация: 19.02.2014
Сообщений: 15
По умолчанию

Почему, при разделении длинной формулы на две строчки(пробел_) появляется ошибка : Expected:list separator or)
=ЕСЛИ(НАЙТИ("-";E5)<=1;0;ЗНАЧЕН(ЛЕВСИМВ(E4;НАЙТИ( "-";E4)-1))) + ЕСЛИ(НАЙТИ("-";F4)<=1;0;ЗНАЧЕН(ЛЕВСИМВ(F4;НАЙТИ( "-";F4)-1))) + ЕСЛИ(НАЙТИ("-";G4)<=1;0;ЗНАЧЕН(ЛЕВСИМВ(G4;НАЙТИ( "-";G4)-1))) + ЕСЛИ(НАЙТИ("-";H4)<=1;0;ЗНАЧЕН(ЛЕВСИМВ(H4;НАЙТИ( "-";H4)-1))) + ЕСЛИ(НАЙТИ("-";I4)<=1;0;ЗНАЧЕН(ЛЕВСИМВ(I4;НАЙТИ( "-";I4)-1))) _
- (ЕСЛИ(НАЙТИ("-";E4)<=1;0;ЗНАЧЕН(ПРАВСИМВ(E4;ДЛСТР (E4)-НАЙТИ("-";E4)))) + ЕСЛИ(НАЙТИ("-";F4)<=1;0;ЗНАЧЕН(ПРАВСИМВ(F4;ДЛСТР (F4)-НАЙТИ("-";F4)))) + ЕСЛИ(НАЙТИ("-";G4)<=1;0;ЗНАЧЕН(ПРАВСИМВ(G4;ДЛСТР (G4)-НАЙТИ("-";G4)))) + ЕСЛИ(НАЙТИ("-";H4)<=1;0;ЗНАЧЕН(ПРАВСИМВ(H4;ДЛСТР (H4)-НАЙТИ("-";H4)))) + ЕСЛИ(НАЙТИ("-";I4)<=1;0;ЗНАЧЕН(ПРАВСИМВ(I4;ДЛСТР (I4)-НАЙТИ("-";I4)))))
fun_kok вне форума Ответить с цитированием
Старый 20.02.2014, 16:55   #9
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Это в VB(A) перенос строки " _", а в ячейке Alt+Enter.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 20.02.2014, 21:30   #10
fun_kok
Пользователь
 
Регистрация: 19.02.2014
Сообщений: 15
По умолчанию

Мне и надо в Vba. Спс. я разобрался.
fun_kok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание листа с определенным именем. bud-dy Microsoft Office Excel 10 28.01.2011 13:57
Процедура с изменяемым параметром Utkin Общие вопросы Delphi 11 30.11.2010 14:41
Формула для переноса значения с одного листа на другой Олег197709 Microsoft Office Excel 12 12.07.2010 10:52
Формула, возвращающая название листа в ячейку _Nina_ Microsoft Office Excel 6 24.08.2009 18:22
Какая формула возвращает имя текущего листа? ru3000 Microsoft Office Excel 3 16.07.2009 22:39