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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое добавление строк с формулами ч.2 - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Автоматическое добавление строк с формулами ч.2
KiTrOd Дата: Вторник, 05.05.2015, 12:32 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
В файле два листа. В листе "Ввод данных" все данные ввожу руками, в листе "Расчет данных" все считается формулами. Таблиц с формулами у меня уже 7 и будет еще несколько. Очень не удобно после каждого ввода данных протягивать формулы в остальных таблицах с формулами. Подскажите как сделать так, чтобы при вводе данных руками (в новых строках), остальные таблицы понимали, что им нужно протягивать формулы и считать добавленную информацию.
К сообщению приложен файл: ___.xlsx (15.2 Kb)
 
Ответить
СообщениеВ файле два листа. В листе "Ввод данных" все данные ввожу руками, в листе "Расчет данных" все считается формулами. Таблиц с формулами у меня уже 7 и будет еще несколько. Очень не удобно после каждого ввода данных протягивать формулы в остальных таблицах с формулами. Подскажите как сделать так, чтобы при вводе данных руками (в новых строках), остальные таблицы понимали, что им нужно протягивать формулы и считать добавленную информацию.

Автор - KiTrOd
Дата добавления - 05.05.2015 в 12:32
ShAM Дата: Вторник, 05.05.2015, 13:11 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Как вариант протянуть формулы с запасом и скрыть нули форматом (в файле) или УФ-ом или через Параметры.
К сообщению приложен файл: KiTrOd.xlsx (17.0 Kb)
 
Ответить
СообщениеКак вариант протянуть формулы с запасом и скрыть нули форматом (в файле) или УФ-ом или через Параметры.

Автор - ShAM
Дата добавления - 05.05.2015 в 13:11
KiTrOd Дата: Вторник, 05.05.2015, 14:45 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
ShAM, как вариант конечно можно. Но это совсем не то, что мне нужно.
 
Ответить
СообщениеShAM, как вариант конечно можно. Но это совсем не то, что мне нужно.

Автор - KiTrOd
Дата добавления - 05.05.2015 в 14:45
ShAM Дата: Вторник, 05.05.2015, 15:23 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Еще вариант. Макросом на событие листа. Формулы копируются при вводе новой даты.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5:A1000")) Is Nothing Then
     a = Target.Row
     With Sheets("Расчет данных")
         If Target.Value <> "" Then
            .Range("A" & a - 1 & ":P" & a - 1).Copy .Range("A" & a)
         Else
            .Range("A" & a & ":P" & a).ClearContents
         End If
     End With
End If
End Sub
[/vba]
upd: Чуть поменял, файл перевложил.
К сообщению приложен файл: KiTrOd.xlsm (21.8 Kb)


Сообщение отредактировал ShAM - Вторник, 05.05.2015, 15:45
 
Ответить
СообщениеЕще вариант. Макросом на событие листа. Формулы копируются при вводе новой даты.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5:A1000")) Is Nothing Then
     a = Target.Row
     With Sheets("Расчет данных")
         If Target.Value <> "" Then
            .Range("A" & a - 1 & ":P" & a - 1).Copy .Range("A" & a)
         Else
            .Range("A" & a & ":P" & a).ClearContents
         End If
     End With
End If
End Sub
[/vba]
upd: Чуть поменял, файл перевложил.

Автор - ShAM
Дата добавления - 05.05.2015 в 15:23
konstantinnnnnnnn Дата: Вторник, 05.05.2015, 17:32 | Сообщение № 5
Группа: Заблокированные
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
спасибо
 
Ответить
Сообщениеспасибо

Автор - konstantinnnnnnnn
Дата добавления - 05.05.2015 в 17:32
ShAM Дата: Вторник, 05.05.2015, 18:21 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
[offtop]Хм, был Кирилл, стал Консантин? :o
[/offtop]
 
Ответить
Сообщение[offtop]Хм, был Кирилл, стал Консантин? :o
[/offtop]

Автор - ShAM
Дата добавления - 05.05.2015 в 18:21
KiTrOd Дата: Вторник, 05.05.2015, 19:15 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
ShAM, супер, спасибо, именно так! Подскажите пожалуйста, мне этот код для каждой таблицы нужно будет повторить? я никогда макросом не пользовался.
 
Ответить
СообщениеShAM, супер, спасибо, именно так! Подскажите пожалуйста, мне этот код для каждой таблицы нужно будет повторить? я никогда макросом не пользовался.

Автор - KiTrOd
Дата добавления - 05.05.2015 в 19:15
KiTrOd Дата: Вторник, 05.05.2015, 19:18 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
ShAM, эта информация помогла еще кому-то)
 
Ответить
СообщениеShAM, эта информация помогла еще кому-то)

Автор - KiTrOd
Дата добавления - 05.05.2015 в 19:18
ShAM Дата: Вторник, 05.05.2015, 20:48 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
мне этот код для каждой таблицы нужно будет повторить?
Тогда еще раз upd (предполагается, что лист "Ввод данных" стоит первым):
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5:A1000")) Is Nothing Then
     a = Target.Row
     For i = 2 To Worksheets.Count
         With Sheets(i)
             If Target.Value <> "" Then
                .Rows(a - 1 & ":" & a - 1).Copy .Range("A" & a)
             Else
                .Rows(a & ":" & a).ClearContents
             End If
         End With
     Next
End If
End Sub
[/vba]
К сообщению приложен файл: KiTrOd_1.xlsm (22.1 Kb)
 
Ответить
Сообщение
мне этот код для каждой таблицы нужно будет повторить?
Тогда еще раз upd (предполагается, что лист "Ввод данных" стоит первым):
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5:A1000")) Is Nothing Then
     a = Target.Row
     For i = 2 To Worksheets.Count
         With Sheets(i)
             If Target.Value <> "" Then
                .Rows(a - 1 & ":" & a - 1).Copy .Range("A" & a)
             Else
                .Rows(a & ":" & a).ClearContents
             End If
         End With
     Next
End If
End Sub
[/vba]

Автор - ShAM
Дата добавления - 05.05.2015 в 20:48
  • Страница 1 из 1
  • 1
Поиск:

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