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

Вход

Регистрация

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

 

= Мир MS Excel/как Не менять предыдущее значение - Мир MS Excel

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

Excel 2010
Существует итоговый файл в который ежемесячно копируется на новый лист
итоговая информация по контрагентам. На первом листе книги ведётся динамика изменений.
контрагенты прибавляются и отваливаются, соответственно
при копировании нового листа в итоговый файл они добавляются, но в динамике не участвуют.
в копируемом листе ячейка с ИНН контрагента выделена цветом.
С добавлением новых контрагентов общими усилиями разобрались.
И как присвоить ноль ячейке с отсутствующими данными.
Остался один вопрос, как оставить предыдущее значение (название фирмы) в ячейке если в
скопированном листе этой фирмы уже нет.
в ячейках со значениями, отсутствующим данным присваивается значение "0" и оно не мешает
проведению вычислений.
[vba]
Код
=ЕслиОшибка(.......;0)
[/vba]
но в одной ячейке надо оставить существующее значение "Название фирмы".
скорее всего проверить макросом отсутствие ИНН в новом файле и при копировании
заменить формулу отвечающую за подтягивание названия на статическое название.
"Лично я так думаю", но могут быть и другие мнения.
Файлик тот же.
К сообщению приложен файл: 2371647.xlsm (30.9 Kb)


Сообщение отредактировал petyavova - Понедельник, 28.08.2017, 11:45
 
Ответить
СообщениеСуществует итоговый файл в который ежемесячно копируется на новый лист
итоговая информация по контрагентам. На первом листе книги ведётся динамика изменений.
контрагенты прибавляются и отваливаются, соответственно
при копировании нового листа в итоговый файл они добавляются, но в динамике не участвуют.
в копируемом листе ячейка с ИНН контрагента выделена цветом.
С добавлением новых контрагентов общими усилиями разобрались.
И как присвоить ноль ячейке с отсутствующими данными.
Остался один вопрос, как оставить предыдущее значение (название фирмы) в ячейке если в
скопированном листе этой фирмы уже нет.
в ячейках со значениями, отсутствующим данным присваивается значение "0" и оно не мешает
проведению вычислений.
[vba]
Код
=ЕслиОшибка(.......;0)
[/vba]
но в одной ячейке надо оставить существующее значение "Название фирмы".
скорее всего проверить макросом отсутствие ИНН в новом файле и при копировании
заменить формулу отвечающую за подтягивание названия на статическое название.
"Лично я так думаю", но могут быть и другие мнения.
Файлик тот же.

Автор - petyavova
Дата добавления - 28.08.2017 в 11:44
AndreTM Дата: Понедельник, 28.08.2017, 15:40 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Скорее, всего, надо действовать немного по-другому.
Если вы хотите в составляемом отчете все же иметь строку (строки) с фирмами-контрагентами, данных на которые у вас нет в исходной таблице - то почему бы вообще не брать названия (подбирая по ИНН) из отдельного накопительного списка?
Сделайте на отдельном листе таблицу со всеми ИНН и названиями контрагентов. Оттуда берите данные для столбца A. А для расчетов - данные откуда вам надо.
И вам будет достаточно пополнять "список контрагентов" новыми фирмами, по мере необходимости.

Вы что, никогда не работали с бух.программами? Не знаете, что справочники контрагентов - это отдельные таблицы? почему у вас должно быть иначе? :)


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеСкорее, всего, надо действовать немного по-другому.
Если вы хотите в составляемом отчете все же иметь строку (строки) с фирмами-контрагентами, данных на которые у вас нет в исходной таблице - то почему бы вообще не брать названия (подбирая по ИНН) из отдельного накопительного списка?
Сделайте на отдельном листе таблицу со всеми ИНН и названиями контрагентов. Оттуда берите данные для столбца A. А для расчетов - данные откуда вам надо.
И вам будет достаточно пополнять "список контрагентов" новыми фирмами, по мере необходимости.

Вы что, никогда не работали с бух.программами? Не знаете, что справочники контрагентов - это отдельные таблицы? почему у вас должно быть иначе? :)

Автор - AndreTM
Дата добавления - 28.08.2017 в 15:40
petyavova Дата: Среда, 30.08.2017, 07:14 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вы что, никогда не работали с бух.программами? Не знаете, что справочники контрагентов - это отдельные таблицы? почему у вас должно быть иначе? :)

Замечание правильное, надо подумать.
 
Ответить
Сообщение
Вы что, никогда не работали с бух.программами? Не знаете, что справочники контрагентов - это отдельные таблицы? почему у вас должно быть иначе? :)

Замечание правильное, надо подумать.

Автор - petyavova
Дата добавления - 30.08.2017 в 07:14
petyavova Дата: Понедельник, 04.09.2017, 21:27 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Я думаю сделать так.
Код:
[vba]
Код

    With sh1
    Dim oldCod
    Dim OldCell
        rCOunt = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 3 To rCOunt
            'If .Cells(i, "A") Is Nothing Then
             OldCell = Cells(i, "A").Text
             If OldCell = "#Н/Д" Then
              Set oldCod = sh1.Range("B" & i)
              ' sh1.Range("A" & i).Text = sh3.Range("A:A").Find(sh1.Range("B" & i))
              Set OldCell = sh3.Range("A:A").Find(.Cells(i, "B"))
              End If
        Next i
    End With
[/vba]
только не получается вставить.
не подставляется значение из столбца А
подскажите ошибку?
К сообщению приложен файл: 0744763.xlsm (37.7 Kb)


Сообщение отредактировал petyavova - Вторник, 05.09.2017, 12:55
 
Ответить
СообщениеЯ думаю сделать так.
Код:
[vba]
Код

    With sh1
    Dim oldCod
    Dim OldCell
        rCOunt = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 3 To rCOunt
            'If .Cells(i, "A") Is Nothing Then
             OldCell = Cells(i, "A").Text
             If OldCell = "#Н/Д" Then
              Set oldCod = sh1.Range("B" & i)
              ' sh1.Range("A" & i).Text = sh3.Range("A:A").Find(sh1.Range("B" & i))
              Set OldCell = sh3.Range("A:A").Find(.Cells(i, "B"))
              End If
        Next i
    End With
[/vba]
только не получается вставить.
не подставляется значение из столбца А
подскажите ошибку?

Автор - petyavova
Дата добавления - 04.09.2017 в 21:27
KuklP Дата: Вторник, 05.09.2017, 08:25 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
не получается вставить
давайте без интимных подробностей :D
Видимо никто не понимает чего Вы хотите.
не подставляется значение из столбца А
в Вашем ошметке кода ищутся ошибки в столбце А. Куда и зачем Вам надо подставить эти ошибки? Откуда взялся sh3? Лучше выложите в файле с полным своим кодом. И пояснениями.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
не получается вставить
давайте без интимных подробностей :D
Видимо никто не понимает чего Вы хотите.
не подставляется значение из столбца А
в Вашем ошметке кода ищутся ошибки в столбце А. Куда и зачем Вам надо подставить эти ошибки? Откуда взялся sh3? Лучше выложите в файле с полным своим кодом. И пояснениями.

Автор - KuklP
Дата добавления - 05.09.2017 в 08:25
petyavova Дата: Вторник, 05.09.2017, 12:57 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KuklP, прошу прощения, думал по предыдущему будет понятно, исправляюсь.

При копировании нового листа с новыми значениями, один контрагент ушел.
но для истории оставляем его имя, беря из предыдущего листа.
К сообщению приложен файл: 1445101.xlsm (38.4 Kb)


Сообщение отредактировал petyavova - Вторник, 05.09.2017, 13:34
 
Ответить
СообщениеKuklP, прошу прощения, думал по предыдущему будет понятно, исправляюсь.

При копировании нового листа с новыми значениями, один контрагент ушел.
но для истории оставляем его имя, беря из предыдущего листа.

Автор - petyavova
Дата добавления - 05.09.2017 в 12:57
KuklP Дата: Вторник, 05.09.2017, 13:53 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
    With sh1
        Dim oldCod
        rCOunt = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 3 To rCOunt
            If Cells(i, 1).Text = "#Н/Д" Then    ' ищем ячейку с отсутствующим значением
                Set oldCod = sh3.Range("d:e").Find(sh1.Cells(i, 2).Value, , , 1, SearchFormat:=False)
                If Not oldCod Is Nothing Then sh1.Cells(i, 1).Value = oldCod.Offset(, -3).Value
            End If
        Next
    End With
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Вторник, 05.09.2017, 13:59
 
Ответить
Сообщение[vba]
Код
    With sh1
        Dim oldCod
        rCOunt = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 3 To rCOunt
            If Cells(i, 1).Text = "#Н/Д" Then    ' ищем ячейку с отсутствующим значением
                Set oldCod = sh3.Range("d:e").Find(sh1.Cells(i, 2).Value, , , 1, SearchFormat:=False)
                If Not oldCod Is Nothing Then sh1.Cells(i, 1).Value = oldCod.Offset(, -3).Value
            End If
        Next
    End With
[/vba]

Автор - KuklP
Дата добавления - 05.09.2017 в 13:53
petyavova Дата: Вторник, 05.09.2017, 14:37 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KuklP, ДА, работает, здорово.Спасибо!!
А то что я изобретал, совсем не правильно?
А можно добавить поиск по всем предыдущим?
каждый месяц добавляется новый лист, и новые будут отваливаться.??
 
Ответить
СообщениеKuklP, ДА, работает, здорово.Спасибо!!
А то что я изобретал, совсем не правильно?
А можно добавить поиск по всем предыдущим?
каждый месяц добавляется новый лист, и новые будут отваливаться.??

Автор - petyavova
Дата добавления - 05.09.2017 в 14:37
KuklP Дата: Вторник, 05.09.2017, 14:49 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
то что я изобретал, совсем не правильно?
неправильно там - объединенные ячейки.
А можно добавить поиск по всем предыдущим?
Добавляйте, кто ж Вам может запретить? %)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
то что я изобретал, совсем не правильно?
неправильно там - объединенные ячейки.
А можно добавить поиск по всем предыдущим?
Добавляйте, кто ж Вам может запретить? %)

Автор - KuklP
Дата добавления - 05.09.2017 в 14:49
petyavova Дата: Вторник, 05.09.2017, 15:03 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KuklP, внизу сортировка почему то нарушилась, не пойму почему? Нашел.


Сообщение отредактировал petyavova - Вторник, 05.09.2017, 15:09
 
Ответить
СообщениеKuklP, внизу сортировка почему то нарушилась, не пойму почему? Нашел.

Автор - petyavova
Дата добавления - 05.09.2017 в 15:03
petyavova Дата: Среда, 06.09.2017, 11:05 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KuklP, если сразу подрузить второй лист, нарушаются формулы и новые названия не подтягиваются.
Но если файл закрыть и потом снова закрыть, то всё нормально.
нет тоже не нормально, к инн подтягивается чужое название.
Из за чего может быть? может какая то переменная?


Сообщение отредактировал petyavova - Среда, 06.09.2017, 16:10
 
Ответить
СообщениеKuklP, если сразу подрузить второй лист, нарушаются формулы и новые названия не подтягиваются.
Но если файл закрыть и потом снова закрыть, то всё нормально.
нет тоже не нормально, к инн подтягивается чужое название.
Из за чего может быть? может какая то переменная?

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

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