Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос для замены слов и вставки формул в нужные ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для замены слов и вставки формул в нужные ячейки (Макросы/Sub)
Макрос для замены слов и вставки формул в нужные ячейки
Марина0509 Дата: Суббота, 26.04.2014, 14:57 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Прошу помочь в написании макроса. Есть большой файл (таких файлов около 50). В каждом необходимо: На листах с фамилиями и листах "агент №" заменить слова Проект 1 на Ликард, Проект 2 на Проект 1 и Проект 3 на Проект 2. В ячейки С107 и С156 добавить формулы. Сложность ещё в том, что таких файлов около 50 и в каждом разные фамилии, у самой опыта в написании макросов нет :( Также на листе "Свод" нужно тоже поменять слова и вставить формулу в ячейку С157. Помогите, пожалуйста!
К сообщению приложен файл: _-1_.xls (99.5 Kb)
 
Ответить
СообщениеПрошу помочь в написании макроса. Есть большой файл (таких файлов около 50). В каждом необходимо: На листах с фамилиями и листах "агент №" заменить слова Проект 1 на Ликард, Проект 2 на Проект 1 и Проект 3 на Проект 2. В ячейки С107 и С156 добавить формулы. Сложность ещё в том, что таких файлов около 50 и в каждом разные фамилии, у самой опыта в написании макросов нет :( Также на листе "Свод" нужно тоже поменять слова и вставить формулу в ячейку С157. Помогите, пожалуйста!

Автор - Марина0509
Дата добавления - 26.04.2014 в 14:57
alex77755 Дата: Воскресенье, 27.04.2014, 07:29 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

Цитата
самой опыта в написании макросов нет

В этом поможет макрорекордер!
Можно сделать вручную с записью макрос и рассмотреть полученный.
Так, конечно, будет не оптимально и много лишнего, но хоть что-то.
Потом копать в сторону "перебрать файлы в папке", например. Что бы макрос перебрал все файлы.
Но вот один пункт смущает:
Цитата
файлов около 50 и в каждом разные фамилии
как узнать в какой файл какую фамилию вставлять?
Если все файлы одинаковые, с "Проект 1", и без разницы в какой вставлять какую фамилию, то можно список фамилий иметь где-нибудь.
Хоть на листе, хоть в текстовике, хоть запрашивать список, хоть для каждого файла после его открытия


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщение
Цитата
самой опыта в написании макросов нет

В этом поможет макрорекордер!
Можно сделать вручную с записью макрос и рассмотреть полученный.
Так, конечно, будет не оптимально и много лишнего, но хоть что-то.
Потом копать в сторону "перебрать файлы в папке", например. Что бы макрос перебрал все файлы.
Но вот один пункт смущает:
Цитата
файлов около 50 и в каждом разные фамилии
как узнать в какой файл какую фамилию вставлять?
Если все файлы одинаковые, с "Проект 1", и без разницы в какой вставлять какую фамилию, то можно список фамилий иметь где-нибудь.
Хоть на листе, хоть в текстовике, хоть запрашивать список, хоть для каждого файла после его открытия

Автор - alex77755
Дата добавления - 27.04.2014 в 07:29
alex77755 Дата: Воскресенье, 27.04.2014, 07:40 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

И ещё для уточнения:
Проект 1
Проект 2
Проект 3
стоят всегда на одном месте? или могут перемещаться по строкам и надо определять их положение?
И формулу вставлять всегда в "С157" или тоже надо искать конец списка?


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
СообщениеИ ещё для уточнения:
Проект 1
Проект 2
Проект 3
стоят всегда на одном месте? или могут перемещаться по строкам и надо определять их положение?
И формулу вставлять всегда в "С157" или тоже надо искать конец списка?

Автор - alex77755
Дата добавления - 27.04.2014 в 07:40
alex77755 Дата: Воскресенье, 27.04.2014, 07:45 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

перебрать файлы в папке пропустив файл из которого запущен макрос можно так:
[vba]
Код
Private Sub CommandButton1_Click()
Dim A1, A2, A3
Dim Путь As String, Файл As String
Dim Книга As Excel.Workbook
Dim Шаблон As Excel.Workbook
Set Шаблон = ActiveWorkbook
Путь = Шаблон.Path & "\"
Файл = Dir(PathName:=Путь + "*.xls")
Do Until Файл = ""
     If Файл <> Шаблон.Name Then
         Set Книга = Workbooks.Open(Путь & Файл)
          
'            здеся код
          
         Книга.Close
     End If
     Файл = Dir
Loop
Set Книга = Nothing
End Sub
[/vba]


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщениеперебрать файлы в папке пропустив файл из которого запущен макрос можно так:
[vba]
Код
Private Sub CommandButton1_Click()
Dim A1, A2, A3
Dim Путь As String, Файл As String
Dim Книга As Excel.Workbook
Dim Шаблон As Excel.Workbook
Set Шаблон = ActiveWorkbook
Путь = Шаблон.Path & "\"
Файл = Dir(PathName:=Путь + "*.xls")
Do Until Файл = ""
     If Файл <> Шаблон.Name Then
         Set Книга = Workbooks.Open(Путь & Файл)
          
'            здеся код
          
         Книга.Close
     End If
     Файл = Dir
Loop
Set Книга = Nothing
End Sub
[/vba]

Автор - alex77755
Дата добавления - 27.04.2014 в 07:45
Марина0509 Дата: Воскресенье, 27.04.2014, 10:52 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
alex77755, Проект 1, 2 и 3 всегда стоят на одном месте. В конкретных ячейках. Нужно поменять их названия. + добвить формулы в конкретные ячейки. Делая запись с помощью макрорекордера, но этот макрос не подходит для другого файла, т.к листочки в файле называются по другому (везде разные фамилии). Но в файле существует листок где перечисляются все названия листочков с фамилиями.

[vba]
Код
Sub Макрос1_ПРОБНЫЙ_2()
'
' Макрос1_ПРОБНЫЙ_2 Макрос
'

'
ActiveWindow.SmallScroll Down:=45
Range("B57").Select
ActiveCell.FormulaR1C1 = "Ликард"
Range("F89").Select
ActiveWindow.SmallScroll Down:=-21
Sheets("СВОД").Select
ActiveWindow.SmallScroll Down:=18
Range("F57").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[18]+R[-45]C[19]+R[-45]C[26]+R[-45]C[27]"
Range("F57").Select
Sheets("Матвеева Н.А.").Select
Cells.Replace What:="Проект 1", Replacement:="Ликард", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 3
ActiveWindow.SmallScroll Down:=42
Range("C58").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[5]+R[-45]C[6]"
Range("C59").Select
ActiveWindow.SmallScroll Down:=99
Range("C156").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[5]+R[-45]C[6]"
Range("C157").Select
Sheets("Ромашева О.В.").Select
Cells.Replace What:="Проект 1", Replacement:="Ликард", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveWindow.SmallScroll Down:=60
Range("C107").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[5]+R[-45]C[6]"
Range("C108").Select
ActiveWindow.SmallScroll Down:=60
Range("C156").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[5]+R[-45]C[6]"
Range("C157").Select
End Sub
[/vba]
К сообщению приложен файл: 6969366.xlsx (26.2 Kb)


Сообщение отредактировал Serge_007 - Воскресенье, 27.04.2014, 16:38
 
Ответить
Сообщениеalex77755, Проект 1, 2 и 3 всегда стоят на одном месте. В конкретных ячейках. Нужно поменять их названия. + добвить формулы в конкретные ячейки. Делая запись с помощью макрорекордера, но этот макрос не подходит для другого файла, т.к листочки в файле называются по другому (везде разные фамилии). Но в файле существует листок где перечисляются все названия листочков с фамилиями.

[vba]
Код
Sub Макрос1_ПРОБНЫЙ_2()
'
' Макрос1_ПРОБНЫЙ_2 Макрос
'

'
ActiveWindow.SmallScroll Down:=45
Range("B57").Select
ActiveCell.FormulaR1C1 = "Ликард"
Range("F89").Select
ActiveWindow.SmallScroll Down:=-21
Sheets("СВОД").Select
ActiveWindow.SmallScroll Down:=18
Range("F57").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[18]+R[-45]C[19]+R[-45]C[26]+R[-45]C[27]"
Range("F57").Select
Sheets("Матвеева Н.А.").Select
Cells.Replace What:="Проект 1", Replacement:="Ликард", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 3
ActiveWindow.SmallScroll Down:=42
Range("C58").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[5]+R[-45]C[6]"
Range("C59").Select
ActiveWindow.SmallScroll Down:=99
Range("C156").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[5]+R[-45]C[6]"
Range("C157").Select
Sheets("Ромашева О.В.").Select
Cells.Replace What:="Проект 1", Replacement:="Ликард", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveWindow.SmallScroll Down:=60
Range("C107").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[5]+R[-45]C[6]"
Range("C108").Select
ActiveWindow.SmallScroll Down:=60
Range("C156").Select
ActiveCell.FormulaR1C1 = "=+R[-45]C[5]+R[-45]C[6]"
Range("C157").Select
End Sub
[/vba]

Автор - Марина0509
Дата добавления - 27.04.2014 в 10:52
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для замены слов и вставки формул в нужные ячейки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!