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

Вход

Регистрация

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

 

= Мир MS Excel/Довести макрос до ума - Мир MS Excel

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

Excel 2003
Доброго всем времени суток.
В очередной раз обращаюсь к Вам за помощью
В файле есть макрос, помогите пожалуйста довести его до ума, мне нужно, что бы при копирование с одного файла в другой в колонке D эти строки нумеровались.
Так же возможно ли сделать. что бы значения в ячейках как "8,69054E+12" отображались нормально.
Заранее благодарю всех откликнувшихся.
К сообщению приложен файл: Vion_.xls (50.0 Kb)
 
Ответить
СообщениеДоброго всем времени суток.
В очередной раз обращаюсь к Вам за помощью
В файле есть макрос, помогите пожалуйста довести его до ума, мне нужно, что бы при копирование с одного файла в другой в колонке D эти строки нумеровались.
Так же возможно ли сделать. что бы значения в ячейках как "8,69054E+12" отображались нормально.
Заранее благодарю всех откликнувшихся.

Автор - Xaden
Дата добавления - 17.06.2014 в 17:49
Hugo Дата: Вторник, 17.06.2014, 18:02 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Одна строка
[vba]
Код
wb1.Range("Q18:Q" & wb1.Cells(wb1.Rows.Count, 5).End(xlUp).Row).Copy wb2.Range("E3")
[/vba]
лишняя.
Чтоб "8,69054E+12" отображались нормально - задайте всему столбцу числовой формат, целые числа.
Нумеряция - протяните автозаполнение диапазона номерами, запишите в макрос. Добавьте в свой - до куда тянуть можно определить по соседнему столбцу, использовать.
Или же протянуть нумерацию вручную заранее или после. Лишнее скрыть/убить.

Написал:
[vba]
Код
    With wb2
         .Columns("E:E").NumberFormat = "0"
         il = .Cells(.Rows.Count, 5).End(xlUp).Row
         .Range("D3") = "1"
         .Range("D3").AutoFill Destination:=.Range("D3:D" & il), Type:=xlFillSeries
     End With
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеОдна строка
[vba]
Код
wb1.Range("Q18:Q" & wb1.Cells(wb1.Rows.Count, 5).End(xlUp).Row).Copy wb2.Range("E3")
[/vba]
лишняя.
Чтоб "8,69054E+12" отображались нормально - задайте всему столбцу числовой формат, целые числа.
Нумеряция - протяните автозаполнение диапазона номерами, запишите в макрос. Добавьте в свой - до куда тянуть можно определить по соседнему столбцу, использовать.
Или же протянуть нумерацию вручную заранее или после. Лишнее скрыть/убить.

Написал:
[vba]
Код
    With wb2
         .Columns("E:E").NumberFormat = "0"
         il = .Cells(.Rows.Count, 5).End(xlUp).Row
         .Range("D3") = "1"
         .Range("D3").AutoFill Destination:=.Range("D3:D" & il), Type:=xlFillSeries
     End With
[/vba]

Автор - Hugo
Дата добавления - 17.06.2014 в 18:02
Xaden Дата: Вторник, 17.06.2014, 18:21 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
оооо спасибо огромное, c функцией AutoFill пробовал, но довести до ума не получалось.
а вот про NumberFormat даже не подумал :(
А если Вас не затруднит можете пояснить зачем строчка .Range("D3") = "1" (в моем понимание это первая цифра нумерации)


Сообщение отредактировал Xaden - Вторник, 17.06.2014, 18:22
 
Ответить
Сообщениеоооо спасибо огромное, c функцией AutoFill пробовал, но довести до ума не получалось.
а вот про NumberFormat даже не подумал :(
А если Вас не затруднит можете пояснить зачем строчка .Range("D3") = "1" (в моем понимание это первая цифра нумерации)

Автор - Xaden
Дата добавления - 17.06.2014 в 18:21
Hugo Дата: Вторник, 17.06.2014, 18:37 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Ну да. Если убрать 1 (кстати кавычки лишние, упустил)- то будет автозаполнять пустотой. Хотя конечно мог бы и сам додумать... :)
Оптимизировал:
[vba]
Код
    With wb2
         .Columns("E:E").NumberFormat = "0"
         .Range("D3") = 1
         .Range("D3").AutoFill Destination:=.Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row), Type:=xlFillSeries
     End With
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНу да. Если убрать 1 (кстати кавычки лишние, упустил)- то будет автозаполнять пустотой. Хотя конечно мог бы и сам додумать... :)
Оптимизировал:
[vba]
Код
    With wb2
         .Columns("E:E").NumberFormat = "0"
         .Range("D3") = 1
         .Range("D3").AutoFill Destination:=.Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row), Type:=xlFillSeries
     End With
[/vba]

Автор - Hugo
Дата добавления - 17.06.2014 в 18:37
Xaden Дата: Вторник, 17.06.2014, 18:55 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Спасибо, будем запоминать
 
Ответить
СообщениеСпасибо, будем запоминать

Автор - Xaden
Дата добавления - 17.06.2014 в 18:55
_Boroda_ Дата: Вторник, 17.06.2014, 22:40 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Еще вариант прогрессией
[vba]
Код
    With wb2
         .Columns("E:E").NumberFormat = "0"
         .Range("D3") = 1
         .Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row).DataSeries
     End With
[/vba]
и еще суммой
[vba]
Код
    With wb2
         .Columns("E:E").NumberFormat = "0"
         .Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row).FormulaR1C1 = "=SUM(R[-1]C,1)"
         .Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row) = .Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row).Value
     End With
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вариант прогрессией
[vba]
Код
    With wb2
         .Columns("E:E").NumberFormat = "0"
         .Range("D3") = 1
         .Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row).DataSeries
     End With
[/vba]
и еще суммой
[vba]
Код
    With wb2
         .Columns("E:E").NumberFormat = "0"
         .Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row).FormulaR1C1 = "=SUM(R[-1]C,1)"
         .Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row) = .Range("D3:D" & .Cells(.Rows.Count, 5).End(xlUp).Row).Value
     End With
[/vba]

Автор - _Boroda_
Дата добавления - 17.06.2014 в 22:40
Xaden Дата: Среда, 18.06.2014, 12:30 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Уважаемые а подскажите пожалуйста формулу, можно и просто ексель, нужно что бы в ячейку B1 по сравнению перекидывались/копировались данные с листа2
В файле указал примерно как должно быть.

ЗЫ долго отнекивался от этой идеи но рук давит :(
К сообщению приложен файл: 8094502.xls (58.5 Kb)
 
Ответить
СообщениеУважаемые а подскажите пожалуйста формулу, можно и просто ексель, нужно что бы в ячейку B1 по сравнению перекидывались/копировались данные с листа2
В файле указал примерно как должно быть.

ЗЫ долго отнекивался от этой идеи но рук давит :(

Автор - Xaden
Дата добавления - 18.06.2014 в 12:30
Hugo Дата: Среда, 18.06.2014, 13:05 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
И как это относится к теме "Довести макрос до ума"? Вообще проглядели мы название темы, нужно закрыть, а то навалят... :(
Вариант "ВПР налево":
Код
=VLOOKUP(A1,CHOOSE({1,2},Лист2!$C$1:$C$30,Лист2!$B$1:$B$30),2,0)


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеИ как это относится к теме "Довести макрос до ума"? Вообще проглядели мы название темы, нужно закрыть, а то навалят... :(
Вариант "ВПР налево":
Код
=VLOOKUP(A1,CHOOSE({1,2},Лист2!$C$1:$C$30,Лист2!$B$1:$B$30),2,0)

Автор - Hugo
Дата добавления - 18.06.2014 в 13:05
_Boroda_ Дата: Среда, 18.06.2014, 13:11 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вообще проглядели мы название темы
Да, безобразие.
еще вариант, классика
Код
=ИНДЕКС(Лист2!B1:B30;ПОИСКПОЗ(A1;Лист2!C1:C30;))


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Вообще проглядели мы название темы
Да, безобразие.
еще вариант, классика
Код
=ИНДЕКС(Лист2!B1:B30;ПОИСКПОЗ(A1;Лист2!C1:C30;))

Автор - _Boroda_
Дата добавления - 18.06.2014 в 13:11
Xaden Дата: Среда, 18.06.2014, 13:33 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
простите, не хотел разводить кучу тем, но вас понял больше не повторится.
Спасибо за ответы.


Сообщение отредактировал Xaden - Среда, 18.06.2014, 14:03
 
Ответить
Сообщениепростите, не хотел разводить кучу тем, но вас понял больше не повторится.
Спасибо за ответы.

Автор - Xaden
Дата добавления - 18.06.2014 в 13:33
Hugo Дата: Среда, 18.06.2014, 14:11 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Закрою на всякий случай...


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеЗакрою на всякий случай...

Автор - Hugo
Дата добавления - 18.06.2014 в 14:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Довести макрос до ума (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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