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]
Ребят, нужна помощь с простым макросом. В ячейку 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
Сообщение отредактировал 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
Группа: Проверенные
Ранг: Ветеран
Сообщений: 712
Репутация:
156
±
Замечаний:
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
Ответить
Сообщение Цитата
В ячейку 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
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
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]
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
ЯД: 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
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация:
192
±
Замечаний:
0% ±
Excel 2016 х 64
А зачем в В2 вставлять значения? Они же сразу заменяются и нигде не используются. Без файла совсем непонятно.
А зачем в В2 вставлять значения? Они же сразу заменяются и нигде не используются. Без файла совсем непонятно. Udik
вот вам барабан яд 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
Ответить
Сообщение Manyasha , Просто супер, подошел идеально, спасибо! Автор - murka73 Дата добавления - 27.01.2016 в 14:02
Kuzmich
Дата: Среда, 27.01.2016, 14:57 |
Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 712
Репутация:
156
±
Замечаний:
0% ±
Excel 2003
Manyasha А вот это зачем? [vba][/vba]
Manyasha А вот это зачем? [vba][/vba] Kuzmich
Ответить
Сообщение Manyasha А вот это зачем? [vba][/vba] Автор - Kuzmich Дата добавления - 27.01.2016 в 14:57
Manyasha
Дата: Среда, 27.01.2016, 15:13 |
Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
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][/vba]
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][/vba]Manyasha
ЯД: 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][/vba]Автор - Manyasha Дата добавления - 27.01.2016 в 15:13