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

Вход

Регистрация

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

 

= Мир MS Excel/вставляет запомненные значения в новую книгу с 2000 строки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » вставляет запомненные значения в новую книгу с 2000 строки (Макросы/Sub)
вставляет запомненные значения в новую книгу с 2000 строки
Nikita999 Дата: Четверг, 26.05.2016, 11:12 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день! Думаю для вас будет очень легкая проблема, но никак не могу "правильно" построить макрос, чтобы он вставлял массив данных, который соответсвует критериям, со 2 строки, а не с 2000 какой-то (все эти 2000 строк делает пустыми).

Понимаю что нужно обнулить счетчик, но как это вкорячить это сюда - не могу понять, попытки не увенчались успехом - вообще переставал что-либо выгружать.
То есть проблема в макросе с заполнением новой книги со строки:Workbooks.Add, Set Mwb4 = ActiveWorkbook.

Ниже приклыдваю файл с макросом - название "CO".

Заранее огромное спасибо!
К сообщению приложен файл: FA_upload_for_i.xlsm (34.5 Kb)
 
Ответить
СообщениеДобрый день! Думаю для вас будет очень легкая проблема, но никак не могу "правильно" построить макрос, чтобы он вставлял массив данных, который соответсвует критериям, со 2 строки, а не с 2000 какой-то (все эти 2000 строк делает пустыми).

Понимаю что нужно обнулить счетчик, но как это вкорячить это сюда - не могу понять, попытки не увенчались успехом - вообще переставал что-либо выгружать.
То есть проблема в макросе с заполнением новой книги со строки:Workbooks.Add, Set Mwb4 = ActiveWorkbook.

Ниже приклыдваю файл с макросом - название "CO".

Заранее огромное спасибо!

Автор - Nikita999
Дата добавления - 26.05.2016 в 11:12
Udik Дата: Четверг, 26.05.2016, 13:30 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
так правильно
[vba]
Код

For Ii1# = 2 To cnt2#
   
          If Channel(Ii1#) = "Retail" Then
           Cells(Ii1#, 1).Value = "FCST_Channels (CO)"
[/vba]
Зачем Вы привязали номер вставляемых строк к условию. У Вас вставлять будет на ту строку, где условия совпадут. Номера вставляемых строк должны на отдельном счётчике быть, т.е вместо
Cells(Ii1#, 1).Value например Cells(Ii2 1).Value, только не забывайте увеличивать счётчик после каждого совпадения условия[p.s.]зачем столько решёток в коде


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Четверг, 26.05.2016, 13:35
 
Ответить
Сообщениетак правильно
[vba]
Код

For Ii1# = 2 To cnt2#
   
          If Channel(Ii1#) = "Retail" Then
           Cells(Ii1#, 1).Value = "FCST_Channels (CO)"
[/vba]
Зачем Вы привязали номер вставляемых строк к условию. У Вас вставлять будет на ту строку, где условия совпадут. Номера вставляемых строк должны на отдельном счётчике быть, т.е вместо
Cells(Ii1#, 1).Value например Cells(Ii2 1).Value, только не забывайте увеличивать счётчик после каждого совпадения условия[p.s.]зачем столько решёток в коде

Автор - Udik
Дата добавления - 26.05.2016 в 13:30
Nikita999 Дата: Четверг, 26.05.2016, 18:58 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо!

Не силен в коде, но в силу необходимости пришлось доработать.. про решетки - взять с похожего кода, поэтому не менялось, так как не особо напрягали)

По увеличению счетчика до конца не понятно.. испробовал несколько вариантов (ранее так же пытался сделать и не вышло)

вначале нужно прописать For Ii2 = 2 to 10000 (например) и далее после кажого условия next Ii2?

Заранее спасибо...
 
Ответить
СообщениеСпасибо!

Не силен в коде, но в силу необходимости пришлось доработать.. про решетки - взять с похожего кода, поэтому не менялось, так как не особо напрягали)

По увеличению счетчика до конца не понятно.. испробовал несколько вариантов (ранее так же пытался сделать и не вышло)

вначале нужно прописать For Ii2 = 2 to 10000 (например) и далее после кажого условия next Ii2?

Заранее спасибо...

Автор - Nikita999
Дата добавления - 26.05.2016 в 18:58
Udik Дата: Четверг, 26.05.2016, 19:36 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
второй счетчик без цикла
где-нибудь вначале инициализируете
[vba]
Код

Ii=2
[/vba]
а для увеличения
[vba]
Код

Ii=Ii+1
[/vba]


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщениевторой счетчик без цикла
где-нибудь вначале инициализируете
[vba]
Код

Ii=2
[/vba]
а для увеличения
[vba]
Код

Ii=Ii+1
[/vba]

Автор - Udik
Дата добавления - 26.05.2016 в 19:36
Nikita999 Дата: Пятница, 27.05.2016, 10:28 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо большое!

Сделал немножко по-другому.

Всё работает! Осталось пару штрихов...

не знаете как переставить в макросе текст местами по символам?

например [vba]
Код
"klmno" = "onmlk"
[/vba] ?

Прикрепляю файл с финальным макросом.
К сообщению приложен файл: 8909807.xlsm (36.7 Kb)
 
Ответить
СообщениеСпасибо большое!

Сделал немножко по-другому.

Всё работает! Осталось пару штрихов...

не знаете как переставить в макросе текст местами по символам?

например [vba]
Код
"klmno" = "onmlk"
[/vba] ?

Прикрепляю файл с финальным макросом.

Автор - Nikita999
Дата добавления - 27.05.2016 в 10:28
Матраскин Дата: Пятница, 27.05.2016, 10:32 | Сообщение № 6
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Пятница, 27.05.2016, 10:32
 
Ответить
СообщениеNikita999, https://msdn.microsoft.com/en-us/library/e462ax87(v=vs.90).aspx

Автор - Матраскин
Дата добавления - 27.05.2016 в 10:32
RAN Дата: Пятница, 27.05.2016, 10:34 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
StrReverse()
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
StrReverse()
[/vba]

Автор - RAN
Дата добавления - 27.05.2016 в 10:34
Nikita999 Дата: Пятница, 27.05.2016, 12:35 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Cпасибо, но эта функция работает только на обратный порядок. А если именно текст переставить местами не в обратном, а допустим

01 01 2016 в 2016 01 01 уже не срабоатет...
[moder]Этот вопрос не относится к данной теме. Создайте новую.[/moder]


Сообщение отредактировал Manyasha - Пятница, 27.05.2016, 12:38
 
Ответить
СообщениеCпасибо, но эта функция работает только на обратный порядок. А если именно текст переставить местами не в обратном, а допустим

01 01 2016 в 2016 01 01 уже не срабоатет...
[moder]Этот вопрос не относится к данной теме. Создайте новую.[/moder]

Автор - Nikita999
Дата добавления - 27.05.2016 в 12:35
Матраскин Дата: Пятница, 27.05.2016, 12:43 | Сообщение № 9
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 0% ±

20xx
[vba]
Код
    Dim st, st1 As String, i As Integer
    st = Split("01 01 2016")
    For i = UBound(st) To 0 Step -1
         st1 = st1 & st(i) & " "
    Next i
[/vba]


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Пятница, 27.05.2016, 12:49
 
Ответить
Сообщение[vba]
Код
    Dim st, st1 As String, i As Integer
    st = Split("01 01 2016")
    For i = UBound(st) To 0 Step -1
         st1 = st1 & st(i) & " "
    Next i
[/vba]

Автор - Матраскин
Дата добавления - 27.05.2016 в 12:43
Nikita999 Дата: Пятница, 27.05.2016, 12:45 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Топорно, но придумал только такой рабочий вариант:

если кому-то пригодится:


[vba]
Код
Cells(2, 14).FormulaLocal = "=ПСТР(I2;7;300)&ПСТР(I2;4;2)&ПСТР(I2;1;2)"
Range("N2").Select
Selection.AutoFill Destination:=Range("N2:N3000"), Type:=xlFillDefault
[/vba]
 
Ответить
СообщениеТопорно, но придумал только такой рабочий вариант:

если кому-то пригодится:


[vba]
Код
Cells(2, 14).FormulaLocal = "=ПСТР(I2;7;300)&ПСТР(I2;4;2)&ПСТР(I2;1;2)"
Range("N2").Select
Selection.AutoFill Destination:=Range("N2:N3000"), Type:=xlFillDefault
[/vba]

Автор - Nikita999
Дата добавления - 27.05.2016 в 12:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » вставляет запомненные значения в новую книгу с 2000 строки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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