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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2013, 09:29   #1
greensage
 
Регистрация: 24.05.2013
Сообщений: 5
По умолчанию Заполнить следующую строку

Форумчане помогите.
Есть данные на листе "Управление" в ячейке F20 их нужно вставить в ячейку J15 на листе "Отчет", при следующем вызове макроса в J16, потом J17 и т.д..
И если возможно, вставить данные в ячейку Управление!F20 без выбора листа .Select (вставка только данных).

Код:
Range("Управление!F20").Copy
    
    Sheets("Отчет").Select
    Range("J15").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
greensage вне форума Ответить с цитированием
Старый 24.05.2013, 10:07   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Если столбец J не содержит значений ниже тех, которые будут добавлены, можно сделать так:

Код:
With Sheets("Отчет")
  Range("Управление!F20").Copy .Range("J15:J" & .Rows.Count).End(xlUp).Offset(1)
End With
upd. добавил смещение...
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 24.05.2013 в 10:26.
DiemonStar вне форума Ответить с цитированием
Старый 24.05.2013, 10:08   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Форматы не нужны.
Ну и первое значение (или шапку) нужно обеспечить.
Код:
Sheets("Отчет").Cells(Rows.Count, "J").End(xlUp)(2).Value = Range("Управление!F20")
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 24.05.2013, 11:47   #4
greensage
 
Регистрация: 24.05.2013
Сообщений: 5
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Если столбец J не содержит значений ниже тех, которые будут добавлены, можно сделать так:
upd. добавил смещение...
Копируется не значение, а формула с F20, на следующую строку не спускается.
Цитата:
Сообщение от Hugo121
Форматы не нужны.
Ну и первое значение (или шапку) нужно обеспечить.
Работает!
Подскажите, как можно в соседнем столбце вести нумерацию, списком 1, 2, 3...
greensage вне форума Ответить с цитированием
Старый 24.05.2013, 12:17   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Сообщение от greensage Посмотреть сообщение
Подскажите, как можно в соседнем столбце вести нумерацию, списком 1, 2, 3...
Для списка начинающегося с 15 строки:
Код:
With Sheets("Отчет").Cells(Rows.Count, "J").End(xlUp)(2)
  .Value = Range("Управление!F20")
  .Offset(,1).Value = IIf(.Row <= 15, 1, .Offset(-1,1) + 1)
End With
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 24.05.2013, 12:21   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Или так:
Код:
With Sheets("Отчет")
.Cells(Rows.Count, "J").End(xlUp)(2).Value = Range("Управление!F20")
.Cells(Rows.Count, "I").End(xlUp)(2).Value = .Cells(Rows.Count, "I").End(xlUp) + 1
End With
Но в шапке должен быть 0 - чтоб было к чему прибавлять.
Или код усложнить проверкой на число.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование данных в следующую пустую строку Vasya2012 Microsoft Office Excel 0 25.07.2012 19:53
Авто переход на следующую строку StringGrid VHomer Общие вопросы Delphi 2 29.03.2012 08:44
Перейти на следующую строку в фильтре KOHCEPBATOP Microsoft Office Excel 4 27.08.2010 11:10
Перемещение на следующую строку в RichEdit, как?? IIpopoK Общие вопросы Delphi 24 30.05.2009 13:08
Перенос текста на следующую строку в TEdit uraura Общие вопросы Delphi 3 17.04.2009 18:13