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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос на замену значения в ячейки и копирование рез-та - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос на замену значения в ячейки и копирование рез-та (Макросы/Sub)
Макрос на замену значения в ячейки и копирование рез-та
murka73 Дата: Среда, 27.01.2016, 12:44 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ребят, нужна помощь с простым макросом. В ячейку b2 последовательно должно вставляться значение от 1 до 700, и копироваться результат с другой вкладки также последовательно в столбец. Записал макрос, но его нужно оптимизировать, чтобы он не был громоздким, буду рад помощи. Макрос, конечно, никакой, но по нему видна суть:
[vba]
Код
Sub Макрос1()
'
' Макрос1 Макрос
'

'
Range("B2").Select
ActiveCell.FormulaR1C1 = "1"
Sheets("24 периода нов").Select
Range("I7").Select
Selection.Copy
Sheets("Input").Select
Range("G1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B2").Select
ActiveCell.FormulaR1C1 = "2"
Sheets("24 периода нов").Select
Range("I7").Select
Selection.Copy
Sheets("Input").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B2").Select
ActiveCell.FormulaR1C1 = "3"
Sheets("24 периода нов").Select
Range("I7").Select
Selection.Copy
Sheets("Input").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
[/vba]
[moder]Код нужно оформлять кнопкой #, а не спойлером. Поправила.[/moder]
[moder]Кстати, у нас принято отписываться в своих темах, подошло решение или нет.[/moder]


Сообщение отредактировал Manyasha - Среда, 27.01.2016, 12:49
 
Ответить
СообщениеРебят, нужна помощь с простым макросом. В ячейку b2 последовательно должно вставляться значение от 1 до 700, и копироваться результат с другой вкладки также последовательно в столбец. Записал макрос, но его нужно оптимизировать, чтобы он не был громоздким, буду рад помощи. Макрос, конечно, никакой, но по нему видна суть:
[vba]
Код
Sub Макрос1()
'
' Макрос1 Макрос
'

'
Range("B2").Select
ActiveCell.FormulaR1C1 = "1"
Sheets("24 периода нов").Select
Range("I7").Select
Selection.Copy
Sheets("Input").Select
Range("G1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B2").Select
ActiveCell.FormulaR1C1 = "2"
Sheets("24 периода нов").Select
Range("I7").Select
Selection.Copy
Sheets("Input").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B2").Select
ActiveCell.FormulaR1C1 = "3"
Sheets("24 периода нов").Select
Range("I7").Select
Selection.Copy
Sheets("Input").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
[/vba]
[moder]Код нужно оформлять кнопкой #, а не спойлером. Поправила.[/moder]
[moder]Кстати, у нас принято отписываться в своих темах, подошло решение или нет.[/moder]

Автор - murka73
Дата добавления - 27.01.2016 в 12:44
Kuzmich Дата: Среда, 27.01.2016, 13:17 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 308
Репутация: 57 ±
Замечаний: 0% ±

Excel 2003
Цитата
В ячейку b2 последовательно должно вставляться значение от 1 до 700

Может быть , начиная с ячейки В2 и далее
тогда так
[vba]
Код

  Range("B2") = 1
  Range("B2:B701").DataSeries xlColumns, xlDataSeriesLinear
[/vba]
 
Ответить
Сообщение
Цитата
В ячейку b2 последовательно должно вставляться значение от 1 до 700

Может быть , начиная с ячейки В2 и далее
тогда так
[vba]
Код

  Range("B2") = 1
  Range("B2:B701").DataSeries xlColumns, xlDataSeriesLinear
[/vba]

Автор - Kuzmich
Дата добавления - 27.01.2016 в 13:17
Manyasha Дата: Среда, 27.01.2016, 13:17 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 1997
Репутация: 829 ±
Замечаний: 0% ±

Excel 2010, 2016
murka73, пробуйте
[vba]
Код
Sub Макрос1()
    For i = 1 To 700
        Range("B2") = i
        Sheets("Input").Range("G" & i) = Sheets("24 периода нов").Range("I7")
    Next i
End Sub
[/vba]


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеmurka73, пробуйте
[vba]
Код
Sub Макрос1()
    For i = 1 To 700
        Range("B2") = i
        Sheets("Input").Range("G" & i) = Sheets("24 периода нов").Range("I7")
    Next i
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 27.01.2016 в 13:17
Udik Дата: Среда, 27.01.2016, 13:24 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1589
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
А зачем в В2 вставлять значения? Они же сразу заменяются и нигде не используются. Без файла совсем непонятно.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеА зачем в В2 вставлять значения? Они же сразу заменяются и нигде не используются. Без файла совсем непонятно.

Автор - Udik
Дата добавления - 27.01.2016 в 13:24
murka73 Дата: Среда, 27.01.2016, 14:02 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, Просто супер, подошел идеально, спасибо! :)
 
Ответить
СообщениеManyasha, Просто супер, подошел идеально, спасибо! :)

Автор - murka73
Дата добавления - 27.01.2016 в 14:02
Kuzmich Дата: Среда, 27.01.2016, 14:57 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 308
Репутация: 57 ±
Замечаний: 0% ±

Excel 2003
Manyasha
А вот это зачем?
[vba]
Код
Range("B2") = i
[/vba]
 
Ответить
СообщениеManyasha
А вот это зачем?
[vba]
Код
Range("B2") = i
[/vba]

Автор - Kuzmich
Дата добавления - 27.01.2016 в 14:57
Manyasha Дата: Среда, 27.01.2016, 15:13 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 1997
Репутация: 829 ±
Замечаний: 0% ±

Excel 2010, 2016
Kuzmich, было так (что там происходит без файла понять сложно, считаем, что так надо :) ):
[vba]
Код
Range("B2").Select
ActiveCell.FormulaR1C1 = "1"
'...
Range("B2").Select
ActiveCell.FormulaR1C1 = "2"
'...
Range("B2").Select
ActiveCell.FormulaR1C1 = "3"
'...
'и, как я поняла, так должно быть до 700
Range("B2").Select
ActiveCell.FormulaR1C1 = "700"
[/vba]
Вот я в цикле и написала [vba]
Код
Range("B2") = i
[/vba]


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеKuzmich, было так (что там происходит без файла понять сложно, считаем, что так надо :) ):
[vba]
Код
Range("B2").Select
ActiveCell.FormulaR1C1 = "1"
'...
Range("B2").Select
ActiveCell.FormulaR1C1 = "2"
'...
Range("B2").Select
ActiveCell.FormulaR1C1 = "3"
'...
'и, как я поняла, так должно быть до 700
Range("B2").Select
ActiveCell.FormulaR1C1 = "700"
[/vba]
Вот я в цикле и написала [vba]
Код
Range("B2") = i
[/vba]

Автор - Manyasha
Дата добавления - 27.01.2016 в 15:13
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос на замену значения в ячейки и копирование рез-та (Макросы/Sub)
Страница 1 из 11
Поиск:

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