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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2019, 22:15   #11
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Сообщение от pumpkin007 Посмотреть сообщение
Спасибо,Егор!
1. А можно это переносить не в отдельную таблицу, а делать уже в существующей?
2. Если у меня 500 строк,допустим, мне для каждой писать сочетание?нельзя как нибудь сделать n+1?
а можно как-то задачу описать сразу? что есть, что нужно получить в итоге? и не лениться подготовить пример, посмотрев который можно понять что Вам нужно.
а то Вам помогают решить задачу, а Вы тут из недр сознания добываете фразу: а у меня 500 строк!
много у Вас еще козырей в рукавах припрятано? вот когда выложите козырного туза, тогда ждите решения описанной Вами задачи и не ждите что кто-то угадает все остальное, что Вы о ней знаете, но не рассказываете, видимо по одной из двух причин:
1. а!... сами сделают - не царское это дело бить пальцами по клавиатуре
2. что сами не догадаются что у меня 500 строк данных? (не желание или еще хуже не умение думать)
понимаете, в таком деле как программирование не бывает неопределенности, тут все строго и даже фраза 500 строк, обьясняет далеко не все (их действительно 500 или может их 500 пар)
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.06.2019, 09:10   #12
pumpkin007
 
Регистрация: 17.06.2019
Сообщений: 9
По умолчанию

Мне нужно в исходной таблице объединить две строки в одну путем их сложения без потери данных.
Например, есть промежуток времени с 06:00-07:00 он состоит из 2 строк, необходимо данные из этих 2 строк сложить, чтобы получилась одна.

Прикладываю полный пример.

Прошу прощения, что так объяснила криво, буду очень благодарна за помощь.
Вложения
Тип файла: xlsx 111.xlsx (30.1 Кб, 20 просмотров)
pumpkin007 вне форума Ответить с цитированием
Старый 18.06.2019, 15:39   #13
Igor1961
Пользователь
 
Регистрация: 05.10.2015
Сообщений: 39
По умолчанию

Вариант:
Код:
Sub aaa()
    Dim lc As Long
    Dim lr As Long
    Dim lrCount As Long
    Application.DisplayAlerts = False
    lrCount = Cells(Rows.Count, 1).End(xlUp).Row - 1
For lc = 2 To 51
  For lr = 4 To lrCount Step 2
    If Cells(lr - 1, lc).Value <> "" Or Cells(lr, lc).Value <> "" Then
       Cells(lr - 1, lc).Value = Cells(lr - 1, lc).Value + Cells(lr, lc).Value
    End If
  Next lr
Next lc
For lr = Cells(Rows.Count, 1).End(xlUp).Row - 1 To 4 Step -2
    Rows(lr).Delete
Next lr
    Application.DisplayAlerts = True
End Sub
Вложения
Тип файла: xls 111_1.xls (111.0 Кб, 16 просмотров)
Igor1961 вне форума Ответить с цитированием
Старый 18.06.2019, 16:50   #14
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

pumpkin007,
и Вы меня извините.
я наехал не для того чтобы Вас обидеть, а чтобы подстегнуть правильно думать

и все это будет оправдано, когда Вы получите точный ответ на свою четко сформулированную задачу))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.06.2019, 17:43   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
и все это будет оправдано, когда Вы получите точный ответ на свою четко сформулированную задачу))


вот код, который решает задачу для примера #12
Код:
Sub CombineTable()
Dim i&, lLastRow&, firstMerge&, ColumnLast&, lc&
Application.DisplayAlerts = False
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
firstMerge = -1
ColumnLast = 51 'последний обрабатываемый столбец AY3
For i = 1 To lLastRow

    If Cells(i, 1).MergeCells Then
        If firstMerge < 0 Then firstMerge = i
        Exit For
    End If
Next i

if firstMerge<0 Then
  MsgBox "Нет сдвоенных ячеек. Делать тут нечего, выходим..."
  Exit Sub
End If

i = lLastRow
Do While i > firstMerge
    If Cells(i, 1).MergeCells Then
    For lc = 2 To ColumnLast
        If Cells(i - 1, lc).Value <> "" Or ActiveSheet.Cells(i, lc).Value <> "" Then
            Cells(i - 1, lc).Value = Trim(Cells(i - 1, lc).Value & " " & Cells(i, lc).Value)
        End If
    Next lc
    Rows(i).EntireRow.Delete

    End If
    i = i - 1
Loop
Application.DisplayAlerts = True

End Sub
p.s. код Igor1961 не проверял

Последний раз редактировалось Serge_Bliznykov; 18.06.2019 в 17:46.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.06.2019, 13:12   #16
pumpkin007
 
Регистрация: 17.06.2019
Сообщений: 9
По умолчанию

Сергей, спасибо Вам просто огромнейшее, все работает!
очень помогло, это просто чудо какое-то!
pumpkin007 вне форума Ответить с цитированием
Старый 20.06.2019, 13:17   #17
pumpkin007
 
Регистрация: 17.06.2019
Сообщений: 9
По умолчанию

Спасибо за помощь!
pumpkin007 вне форума Ответить с цитированием
Старый 20.06.2019, 13:34   #18
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Пожалуйста.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для объединения ячеек Lynx_by Microsoft Office Excel 1 22.08.2017 11:17
Макрос объединения предложений caute Microsoft Office Word 3 30.10.2014 08:15
макрос для объединения ячеек BAP9IT Microsoft Office Word 2 15.11.2012 19:43
Объединения несколько страниц в одну Shyt PHP 13 18.11.2009 17:48
Макрос на объединение 4 строчек в 1 malrah Microsoft Office Word 16 16.06.2009 17:12