Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 06.02.2010, 19:32   #1
kzld
Участник клуба
 
Регистрация: 24.01.2009
Адрес: Kazakhstan
Сообщений: 558
Репутация: 16
По умолчанию Массовая замена аргументов

На одном листе имеется масса формул, порядка 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, 22:14   #2
doober
Профессионал
 
Аватар для doober
 
Регистрация: 02.05.2009
Адрес: Леса Мордовии
Сообщений: 3,901
Репутация: 650

skype: d_ober1
По умолчанию

Цитата:
Сообщение от 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, 09:41   #3
kzld
Участник клуба
 
Регистрация: 24.01.2009
Адрес: Kazakhstan
Сообщений: 558
Репутация: 16
По умолчанию

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

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

skype: d_ober1
По умолчанию

ВОзможно так

Код:

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, 16:04   #5
The_Prist
Профессионал
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Адрес: Москва
Сообщений: 1,088
Репутация: 156
По умолчанию

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

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


21:34.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru