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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2017, 16:58   #1
PetyaVova
Пользователь
 
Регистрация: 18.07.2017
Сообщений: 20
По умолчанию Выбрать ячейки из столбца выделенные цветом и копировать

Существует итоговый файл в который ежемесячно копируется на новый лист
итоговая информация по контрагентам. На первом листе книги ведётся динамика изменений.
контрагенты прибавляются и отваливаются, соответственно
при копировании нового листа в итоговый файл они добавляются, но в динамике не участвуют.
в копируемом листе ячейка с ИНН контрагента выделена цветом.
Попытался с помощью присвоения переменной номера цвета, которым выделена ячейка с ИНН выделить и скопировать на страницу динамики в столбец ИНН, ничего не получилось.
Можете подсказать, как скопировать из второго листа все ИНН выделенные цветом на первый лист с добавлением отсутствующих.
и дублированием в новых строчках с новыми ИНН всех формул как у остальных.
А у отсутствующих контрагентов в результатах должен быть "ноль" а не "Н/Д".
образец примерный прилагаю.
Подскажите как можно проще?
Вложения
Тип файла: xlsx образец1.xlsx (15.0 Кб, 18 просмотров)
PetyaVova вне форума Ответить с цитированием
Старый 21.08.2017, 21:01   #2
PetyaVova
Пользователь
 
Регистрация: 18.07.2017
Сообщений: 20
По умолчанию

Кто ни будь, откликнитесь..
PetyaVova вне форума Ответить с цитированием
Старый 24.08.2017, 21:49   #3
PetyaVova
Пользователь
 
Регистрация: 18.07.2017
Сообщений: 20
По умолчанию

Спасибо, с Н/Д перевести в ноль помогли, этот вопрос снимаю.
как всегда оказалось просто.
Код:
=ЕСЛИОШИБКА(...)
с остальным не понятно.
Вложения
Тип файла: rar 6387401.rar (23.0 Кб, 17 просмотров)
PetyaVova вне форума Ответить с цитированием
Старый 25.08.2017, 14:13   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Чем AddNewINN не устраивает? Нормально ведь работает! Кто-то не поленился даже откомментить каждую строку.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 25.08.2017, 18:31   #5
PetyaVova
Пользователь
 
Регистрация: 18.07.2017
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Чем AddNewINN не устраивает? Нормально ведь работает! Кто-то не поленился даже откомментить каждую строку.
копируется непонятно куда, а мне надо в предпоследнюю строчку со смещением последней и копированием формул.
Вложения
Тип файла: rar 6387401.rar (31.1 Кб, 14 просмотров)

Последний раз редактировалось PetyaVova; 25.08.2017 в 19:50. Причина: добавить файл
PetyaVova вне форума Ответить с цитированием
Старый 25.08.2017, 18:37   #6
PetyaVova
Пользователь
 
Регистрация: 18.07.2017
Сообщений: 20
По умолчанию

Цитата:
Сообщение от PetyaVova Посмотреть сообщение
Спасибо, с Н/Д перевести в ноль помогли, этот вопрос снимаю.
оказалось не всё, в одной ячейке вместо Н/Д надо оставить предыдущее значение(название фирмы).
PetyaVova вне форума Ответить с цитированием
Старый 26.08.2017, 16:31   #7
PetyaVova
Пользователь
 
Регистрация: 18.07.2017
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Чем AddNewINN не устраивает? Нормально ведь работает! Кто-то не поленился даже откомментить каждую строку.
Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Чем AddNewINN не устраивает? Нормально ведь работает! Кто-то не поленился даже откомментить каждую строку.
Получилось.
Код:
Option Explicit
Sub AddNewINN()
    Dim sh As Worksheet
    Dim sh1 As Worksheet
    Dim rCOunt As Long
    Dim i
    Dim myColor
    Dim myCell
    Dim newCell
    Dim lastrow As Long
    
 Set sh = Sheets(2)
 Set sh1 = Sheets(1)
' lastrow = Sheets("Динамика").Range("A65536").End(xlUp).Row
 With sh
 rCOunt = .Cells(.Rows.Count, 1).End(xlUp).Row
 myColor = sh.Range("D9").Interior.Color
 For i = 9 To rCOunt
 If .Cells(i, "D").Interior.Color = myColor Then
 Set myCell = sh1.Range("B:B").Find(.Cells(i, "D"))
 If myCell Is Nothing Then Set newCell = (.Cells(i, "D"))
      
    If newCell <> 0 Then
         Sheets("Динамика").Select
          lastrow = Sheets("Динамика").Range("A65536").End(xlUp).Row
     Range("A" & lastrow).Select
     ActiveCell.EntireRow.Select
     Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    MsgBox (newCell & " копировать в Лист1")
    Range("B" & lastrow).Select
      newCell.Copy 'Destination:=Sheets("Динамика").Range("B" & lastrow)
          Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
      End If
    End If
    Next i
    End With
    Set sh = Nothing
    Set sh1 = Nothing
      End Sub
осталось подставить формулы
Вложения
Тип файла: rar 6387401.rar (29.8 Кб, 20 просмотров)
PetyaVova вне форума Ответить с цитированием
Старый 28.08.2017, 03:28   #8
PetyaVova
Пользователь
 
Регистрация: 18.07.2017
Сообщений: 20
По умолчанию

Цитата:
Сообщение от PetyaVova Посмотреть сообщение
Получилось.
Код:
Option Explicit
Sub AddNewINN()
    Dim sh As Worksheet
    Dim sh1 As Worksheet
    Dim rCOunt As Long
    Dim i
    Dim myColor
    Dim myCell
    Dim newCell
    Dim lastrow As Long
    
 Set sh = Sheets(2)
 Set sh1 = Sheets(1)
' lastrow = Sheets("Динамика").Range("A65536").End(xlUp).Row
 With sh
 rCOunt = .Cells(.Rows.Count, 1).End(xlUp).Row
 myColor = sh.Range("D9").Interior.Color
 For i = 9 To rCOunt
 If .Cells(i, "D").Interior.Color = myColor Then
 Set myCell = sh1.Range("B:B").Find(.Cells(i, "D"))
 If myCell Is Nothing Then Set newCell = (.Cells(i, "D"))
      
    If newCell <> 0 Then
         Sheets("Динамика").Select
          lastrow = Sheets("Динамика").Range("A65536").End(xlUp).Row
     Range("A" & lastrow).Select
     ActiveCell.EntireRow.Select
     Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    MsgBox (newCell & " копировать в Лист1")
    Range("B" & lastrow).Select
      newCell.Copy 'Destination:=Sheets("Динамика").Range("B" & lastrow)
          Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
      End If
    End If
    Next i
    End With
    Set sh = Nothing
    Set sh1 = Nothing
      End Sub
осталось подставить формулы
подсказали и всё получилось.
Код:
Option Explicit
Sub AddNewINN()
    Dim sh As Worksheet
    Dim sh1 As Worksheet
    Dim rCOunt As Long
    Dim i
    Dim myColor
    Dim myCell
    Dim newCell
    Dim lastrow As Long

    Set sh = Sheets(2)
    Set sh1 = Sheets(1)
    ' lastrow = Sheets("Динамика").Range("A65536").End(xlUp).Row
    With sh
        rCOunt = .Cells(.Rows.Count, 1).End(xlUp).Row
        myColor = sh.Range("D9").Interior.Color
        For i = 26 To rCOunt
            If .Cells(i, "D").Interior.Color = myColor Then
                Set myCell = sh1.Range("B:B").Find(.Cells(i, "D"))
                If myCell Is Nothing Then Set newCell = (.Cells(i, "D"))

                If newCell = (.Cells(i, "D")) Then
                    lastrow = sh1.Range("A65536").End(xlUp).Row - 1
                    sh1.Rows(lastrow - 1).Copy
                    sh1.Rows(lastrow).Insert xlDown, xlFormatFromLeftOrAbove
                    sh1.Range("B" & lastrow).Value = newCell.Value
                    Application.CutCopyMode = 0
                End If
            End If
        Next i
    End With
    Set sh = Nothing
    Set sh1 = Nothing

End Sub
но остался вопрос по отсутствующим контрагентам, как оставить информацию в ячейке если с обновлением информация отсутствует.?
Вложения
Тип файла: rar _3626199_1.rar (27.3 Кб, 14 просмотров)
PetyaVova вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО][SQL]: В ячейки первого столбца, в которых содержится нуль, перенести значение из ячейки второго столбца, увеличив перенесённое значение на 7 процентов Tagir93 SQL, базы данных 5 07.02.2017 18:18
Выделенные ячейки в DrawGrid st_yak C++ Builder 3 28.10.2013 12:42
Выделение цветом столбца и строки активной ячейки cerberochek Microsoft Office Excel 7 28.11.2012 12:56
Выбрать ВСЕ выделенные ячейки в StringGrid Os_Mary Компоненты Delphi 5 23.01.2011 18:21
Копировать только выделенные ячейки Kolpachog Microsoft Office Excel 2 10.06.2010 16:11