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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2016, 19:31   #1
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию Генерация по шаблону

У нас есть исходник(пример прикрепил), есть текстовый документ в котором:
10|10|30|20|40
11|15|14|13|12
По разделению, я знаю как разделить, как достать из файла тоже знаю, вопрос в другом как скопировать область исходника подставить мои данные и вставить....
Кому не сложно скиньте пример...
Вложения
Тип файла: xlsx 1.xlsx (8.2 Кб, 11 просмотров)

Последний раз редактировалось Obey177; 18.03.2016 в 20:01.
Obey177 вне форума Ответить с цитированием
Старый 18.03.2016, 20:17   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub Repl1(RepTo As String, rg As Range)
  Const RepWht As String = "<<N>> <<KO1>> <<KO2>> <<KO3>> <<KO4>>"
  Dim i As Long
  Range("B4:D6").Copy rg
  For i = 0 To 4
    rg.Resize(3, 3).Cells.Replace What:=Split(RepWht)(i), Replacement:=Split(RepTo, "|")(i), LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
  Next
End Sub


Sub ReplAll()
  Range("F:H").Delete:  MsgBox "And copy...", , "Now cleanly!!!"
  Repl1 "10|10|30|20|40", Cells(4, 6)
  Repl1 "11|15|14|13|12", Cells(8, 6)
  Columns("F:F").ColumnWidth = 11
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 18.03.2016 в 20:33.
IgorGO вне форума Ответить с цитированием
Старый 19.03.2016, 15:11   #3
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
Sub Repl1(RepTo As String, rg As Range)
  Const RepWht As String = "<<N>> <<KO1>> <<KO2>> <<KO3>> <<KO4>>"
  Dim i As Long
  Range("B4:D6").Copy rg
  For i = 0 To 4
    rg.Resize(3, 3).Cells.Replace What:=Split(RepWht)(i), Replacement:=Split(RepTo, "|")(i), LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
  Next
End Sub


Sub ReplAll()
  Range("F:H").Delete:  MsgBox "And copy...", , "Now cleanly!!!"
  Repl1 "10|10|30|20|40", Cells(4, 6)
  Repl1 "11|15|14|13|12", Cells(8, 6)
  Columns("F:F").ColumnWidth = 11
End Sub
Const RepWht As String = "<<N>> <<KO1>> <<KO2>> <<KO3>> <<KO4>>"-Это массив строк? Извините глупый вопрос просто недавно начал программировать на VBA
Obey177 вне форума Ответить с цитированием
Старый 19.03.2016, 15:40   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

строка. (это массив символов)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.03.2016, 15:53   #5
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
строка. (это массив символов)
я уже допер, увидел сплит дальше...спасибо)
Obey177 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация отчетов из Excel по шаблону Word Nicolas_46 Microsoft Office Excel 3 10.10.2013 20:28
Интерфейс к шаблону Komediant C# (си шарп) 0 23.05.2013 11:37
Выборка по шаблону Taurus_UA Microsoft Office Access 39 13.09.2012 11:56
Вопрос по шаблону Richmon-d JavaScript, Ajax 0 11.07.2011 14:27
Генерация текста по шаблону PUH Помощь студентам 6 16.05.2008 07:40