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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2010, 18:32   #1
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 619
По умолчанию Массовая замена аргументов

На одном листе имеется масса формул, порядка 500 штук, вот таких
={СУММ(ЕСЛИ(('03'!E3:E490=821,4)*(' 03'!F3:F490=671);'03'!H3:H490))}
={СУММ(ЕСЛИ(('03'!E3:E996=821)*('03 '!F3:F996=655,1);'03'!H3:H996))}
={СУММ(ЕСЛИ(('03'!E3:E1000=845)*('0 3'!F3:F1000=203);'03'!H3:H1000))}

Это формулы массива. Вводить их надо Ctrl+Shift+Enter
Как видно, аргументы
Цитата:
E3:E490
у них не совпадают
Надо провести массовую замену аргументов и привести их все к виду
Цитата:
E3:E1000
Как это сделать "не ручками" а используя мощь Excel
Поддерживает ли Excel знак
Цитата:
*
kzld вне форума Ответить с цитированием
Старый 06.02.2010, 21:14   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от kzld Посмотреть сообщение
Поддерживает ли Excel знак *
Меня очень заинтересовало,почему возник этот вопрос у автора топика
Код:

Private Sub Zamena()

Dim n, m, nm As Integer
For nm = 1 To 100     ' Диапазон  замены  выбран A1:A100
Dim formmula As String
formmula = Range("a" & nm).FormulaLocal
For n = 1 To Len(formmula) - 2
If Mid(formmula, n, 3) = "E3:" Then
Dim ssl As String
ssl = ""
For m = n To Len(formmula) - 2
If Mid(formmula, m, 1) = "=" Then
Range("a" & nm).FormulaLocal = Replace(formmula, ssl, "E3:E1000")
GoTo 10
End If
ssl = ssl & Mid(formmula, m, 1)
Next: End If: Next
10
Next

End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.02.2010, 08:41   #3
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 619
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Меня очень заинтересовало,почему возник этот вопрос у автора топика
Код:
Цитата:
вырезано
For nm = 1 To 100 ' Диапазон замены выбран A1:A100
Цитата:
Как заменить диапазон на T50:AI25000
Вопросик, вопросик
kzld вне форума Ответить с цитированием
Старый 07.02.2010, 12:13   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

ВОзможно так

Код:
Private Sub Zamena1()
 Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

 Dim cell As Range
    Set ra = Range(("T50:AI25000"))
    
   For Each cell In ra.Cells
   Dim formmula As String
   formmula = cell.FormulaLocal
     For n = 1 To Len(formmula) - 2
If Mid(formmula, n, 2) = "E3" Then
Dim ssl As String
ssl = ""
For m = n To Len(formmula) - 2
If Mid(formmula, m, 1) = "=" Then
cell.FormulaLocal = Replace(formmula, ssl, "E3:E1000")

GoTo 10
End If
ssl = ssl & Mid(formmula, m, 1)
Next: End If
10
Next   
    Next cell
 Application.EnableEvents = True
 Application.Calculation = xlCalculationAutomatic
 Application.ScreenUpdating = True
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.02.2010, 15:04   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Здравствуйте. Делаете следующим образом
  1. Выделяете диапазон с формулами;
  2. Ctrl+H: Найти - E3:E*=; Заменить на - E3:E1000=
  3. параметры замены: Ячейка целиком - снят; Область поиска - формулы.
Повторяете процедуру над всеми необходимыми диапазонами в формулах.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 07.02.2010, 15:19   #6
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 619
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Здравствуйте. Делаете следующим образом
  1. Выделяете диапазон с формулами;
  2. Ctrl+H: Найти - E3:E*=; Заменить на - E3:E1000=
  3. параметры замены: Ячейка целиком - снят; Область поиска - формулы.
Повторяете процедуру над всеми необходимыми диапазонами в формулах.
Странно, с буквой E и F всё сработало.
А с буквой Hне желает
kzld вне форума Ответить с цитированием
Старый 07.02.2010, 15:43   #7
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

А H является именно Эйч или русская Эн? Должна быть Эйч(инглиш).
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 07.02.2010, 16:44   #8
kzld
Форумчанин
 
Регистрация: 24.01.2009
Сообщений: 619
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
А H является именно Эйч или русская Эн? Должна быть Эйч(инглиш).
Именно английская. Заменил букву E заменил букву F , пытаюсь заменить букву H , всё это не меняя раскладки клавиатуры - и облом.
СООТВЕТСТВИЙ НЕ НАЙДЕНО.
kzld вне форума Ответить с цитированием
Старый 07.02.2010, 17:57   #9
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от kzld Посмотреть сообщение
Именно английская. Заменил букву E заменил букву F , пытаюсь заменить букву H , всё это не меняя раскладки клавиатуры - и облом.
СООТВЕТСТВИЙ НЕ НАЙДЕНО.
Либо у Вас там не Н, либо Вы где-то неверно задаете параметры. Если заменили остальные - значит ошибка в аргументе для замены или в параметрах замены(может установлено Ячейка целиком или не в формулах). Ищите у себя ошибку.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массовая обработка файлов bionicle Помощь студентам 2 30.01.2010 12:37
Проблема с заданием аргументов функции по умолчанию LMnet Помощь студентам 4 15.01.2010 17:59
Простейшая задача на функцию со сменным количеством аргументов iFireFly Общие вопросы C/C++ 1 07.01.2010 12:21
Массовая драка в военной части на Алтае rpy3uH Свободное общение 5 10.07.2009 14:02
Типы аргументов при перегрузке функций Arkuz Общие вопросы C/C++ 4 24.02.2009 01:16