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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2015, 11:59   #11
alex241v
Пользователь
 
Регистрация: 24.11.2015
Сообщений: 17
По умолчанию

кидал частями так как очень большой код
alex241v вне форума Ответить с цитированием
Старый 24.11.2015, 12:37   #12
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

и еще несколько замечаний:
1. кода действительно много я сомневаюсь что кто-то станет в это вчитываться
2. наличие кода это хорошо, но что плохо? плохо то что:
2.1. нет файла и не видно что за данные обрабатываются
2.2. нет обьяснений начальной задачи (для чего это все нужно)

пытаться по коду определить что за данные обрабатываются и с какой целью - это тоже ребус, решать который вряд-ли кто захочет

а с учетом того, что код выложен здесь потому что "криво работает"... так вот по "криво работающему" коду понять что-либо вообще маловероятно и люди, понимающие это, скорее всего просто проигнорируют Ваши последние сообщения
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.11.2015, 12:55   #13
alex241v
Пользователь
 
Регистрация: 24.11.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
и еще несколько замечаний:
1. кода действительно много я сомневаюсь что кто-то станет в это вчитываться
2. наличие кода это хорошо, но что плохо? плохо то что:
2.1. нет файла и не видно что за данные обрабатываются
2.2. нет обьяснений начальной задачи (для чего это все нужно)

пытаться по коду определить что за данные обрабатываются и с какой целью - это тоже ребус, решать который вряд-ли кто захочет

а с учетом того, что код выложен здесь потому что "криво работает"... так вот по "криво работающему" коду понять что-либо вообще маловероятно и люди, понимающие это, скорее всего просто проигнорируют Ваши последние сообщения
к сожалению файл не могу скинуть , нужно это для облегчения работы, а именно есть 2 файла 1 мэппинг и 2 сборник при запуске макроса эти 2 файла компонуются. Макрос копирует данные из них и создает третий "выходной файл с датой " так вот в этом "выходном файле " есть много листов имена все уникальные и в этих листах есть повторяющиеся строки , и как я выше написал нужно удалить дубликат строки и скинуть число с нижней строки в верхнюю, почему так потому что нужное нам число для переноса находится в нижней строки дубликата а так как макрос удаляет дубликат делает он это по нижней строке и соответственно удаляет нужное нам число в столбике R. и проделать это со всеми листами
alex241v вне форума Ответить с цитированием
Старый 24.11.2015, 13:06   #14
alex241v
Пользователь
 
Регистрация: 24.11.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
и еще несколько замечаний:
1. кода действительно много я сомневаюсь что кто-то станет в это вчитываться
2. наличие кода это хорошо, но что плохо? плохо то что:
2.1. нет файла и не видно что за данные обрабатываются
2.2. нет обьяснений начальной задачи (для чего это все нужно)

пытаться по коду определить что за данные обрабатываются и с какой целью - это тоже ребус, решать который вряд-ли кто захочет

а с учетом того, что код выложен здесь потому что "криво работает"... так вот по "криво работающему" коду понять что-либо вообще маловероятно и люди, понимающие это, скорее всего просто проигнорируют Ваши последние сообщения
если коротко то: нужен макрос который при уже сформировавшемуся "выходному файлу" зайдет в него, в первый лист и будет идти по столбцам H,I,O он должен искать одинаковые строчки по этим столбцам и если к примеру H3=H4, I3=I4, O3=O4 то он переходит к столбцу R и из R4->переносит нужное нам значение в R3 и так по всему листу а потом и по всем листам книги , если это возможно сделать подскажите пожалуйста как , в заранее большое спасибо
alex241v вне форума Ответить с цитированием
Старый 24.11.2015, 13:17   #15
alex241v
Пользователь
 
Регистрация: 24.11.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
и еще несколько замечаний:
1. кода действительно много я сомневаюсь что кто-то станет в это вчитываться
2. наличие кода это хорошо, но что плохо? плохо то что:
2.1. нет файла и не видно что за данные обрабатываются
2.2. нет обьяснений начальной задачи (для чего это все нужно)

пытаться по коду определить что за данные обрабатываются и с какой целью - это тоже ребус, решать который вряд-ли кто захочет

а с учетом того, что код выложен здесь потому что "криво работает"... так вот по "криво работающему" коду понять что-либо вообще маловероятно и люди, понимающие это, скорее всего просто проигнорируют Ваши последние сообщения
код работает хорошо ,только надо дописать такой макрос
alex241v вне форума Ответить с цитированием
Старый 24.11.2015, 13:33   #16
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от alex241v Посмотреть сообщение
и будет идти по столбцам H,I,O он должен искать одинаковые строчки по этим столбцам и если к примеру H3=H4, I3=I4, O3=O4 то он переходит к столбцу R и из R4->переносит нужное нам значение в R3
сравнили h3 с h4 и, если h3=h4, тогда
1) в r3 переносим значение r4
2) удаляем 3 строку
или
1) в r4 переносим значение r3
2) удаляем 4 строку
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 24.11.2015, 13:45   #17
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub DelEqual(wb As Workbook)
  Dim sht As Worksheet, r As Long
  For Each sht In wb.Worksheets
    With sht
      r = 1
      Do While Not IsEmpty(.Cells(r, 8))
        If .Cells(r, 8) = .Cells(r + 1, 8) And .Cells(r, 9) = .Cells(r + 1, 9) And .Cells(r, 15) = .Cells(r + 1, 15) Then
          .Cells(r, 18) = .Cells(r + 1, 18)
          .Rows(r + 1).Delete
        End If
        r = r + 1
      Loop
    End With
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.11.2015, 13:56   #18
alex241v
Пользователь
 
Регистрация: 24.11.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
Sub DelEqual(wb As Workbook)
  Dim sht As Worksheet, r As Long
  For Each sht In wb.Worksheets
    With sht
      r = 1
      Do While Not IsEmpty(.Cells(r, 8))
        If .Cells(r, 8) = .Cells(r + 1, 8) And .Cells(r, 9) = .Cells(r + 1, 9) And .Cells(r, 15) = .Cells(r + 1, 15) Then
          .Cells(r, 18) = .Cells(r + 1, 18)
          .Rows(r + 1).Delete
        End If
        r = r + 1
      Loop
    End With
  Next
End Sub
сейчас попробую запустить)
alex241v вне форума Ответить с цитированием
Старый 24.11.2015, 14:05   #19
alex241v
Пользователь
 
Регистрация: 24.11.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
сравнили h3 с h4 и, если h3=h4, тогда
1) в r3 переносим значение r4
2) удаляем 3 строку
или
1) в r4 переносим значение r3
2) удаляем 4 строку
из r4 переносим в r3 и удаляем r4 то есть 4 строку , потому что в q3 у нас есть тоже значения а в q4 нет , и мы не должны терять данные )
alex241v вне форума Ответить с цитированием
Старый 24.11.2015, 14:10   #20
alex241v
Пользователь
 
Регистрация: 24.11.2015
Сообщений: 17
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
Sub DelEqual(wb As Workbook)
  Dim sht As Worksheet, r As Long
  For Each sht In wb.Worksheets
    With sht
      r = 1
      Do While Not IsEmpty(.Cells(r, 8))
        If .Cells(r, 8) = .Cells(r + 1, 8) And .Cells(r, 9) = .Cells(r + 1, 9) And .Cells(r, 15) = .Cells(r + 1, 15) Then
          .Cells(r, 18) = .Cells(r + 1, 18)
          .Rows(r + 1).Delete
        End If
        r = r + 1
      Loop
    End With
  Next
End Sub
Игорь прошу не ругать меня и прошу прощения за глупый вопрос, куда макрос засунуть? потому что я по всякому пробовал либо не работает либо ругается
alex241v вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование (перенос) данных из одной книги в другую по ячейкам Mpgeshka Microsoft Office Excel 42 16.07.2015 13:16
Поиск данных по всем листам Настя Белова Помощь студентам 2 28.03.2014 19:59
Поиск данных по всем листам книги demon_81 Microsoft Office Excel 0 20.01.2010 11:28
Окно для поиска ячейки по всем листам. TiG Microsoft Office Excel 10 07.11.2009 10:20
Цикл по листам и ячейкам motorway Microsoft Office Excel 1 03.07.2009 11:05