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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2019, 11:45   #1
pumpkin007
 
Регистрация: 17.06.2019
Сообщений: 9
По умолчанию макрос для сложении 2 строчек и их объединения в одну

Уважаемые программисты!

Помогите написать макрос для сложении 2 строчек и их объединения в одну.

Пример во вложении.

Заранее благодарю
Вложения
Тип файла: xlsx пример.xlsx (16.0 Кб, 28 просмотров)
pumpkin007 вне форума Ответить с цитированием
Старый 17.06.2019, 13:12   #2
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 734
По умолчанию

А как мелкие буквы и цифры сделал?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 17.06.2019, 13:41   #3
pumpkin007
 
Регистрация: 17.06.2019
Сообщений: 9
По умолчанию

Это унифицированный отчет, нужна просто обработка
pumpkin007 вне форума Ответить с цитированием
Старый 17.06.2019, 13:57   #4
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 734
По умолчанию

Я же не знаю что тебе там надо сложить. Вот обращение к ячейкам:
Синтаксис объекта Cells:
Код:
Cells(RowIndex, ColumnIndex)
- где RowIndex строка,
ColumnIndex столбец.
Нумерация начинается с 1.
Что тебе нужно сложить, складывай, сам напиши да и все.
Можешь еще цикл For присобачить.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.

Последний раз редактировалось Cuprum5; 17.06.2019 в 14:03.
Cuprum5 вне форума Ответить с цитированием
Старый 17.06.2019, 14:58   #5
pumpkin007
 
Регистрация: 17.06.2019
Сообщений: 9
По умолчанию

как нужно, во вложении, посмотри, пожалуйста.


И если можно, скрипт с самого начала, а то я вообще не сильна
Вложения
Тип файла: xlsx пример.xlsx (16.2 Кб, 24 просмотров)
pumpkin007 вне форума Ответить с цитированием
Старый 17.06.2019, 16:02   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от pumpkin007 Посмотреть сообщение
как нужно, во вложении, посмотри, пожалуйста.
Вы меня извините, но, по моему, Вы что-то неверно делаете.
1) почему количество в конечной таблице удваивается ?
Вы просто ручками посчитайте, например, сколько в строке 15.
в формуле в исходной таблице всё верно, а в итоговой
Код:
=(СЧЁТЕСЛИ(RC[-52]:RC[-3];"15"))+(СЧЁТЕСЛИ(RC[-52]:RC[-3];"15"))
2) почему цена удваивается? Это, имхо, неверно.

3) тоже самое (удвоение) касается и строчки с вычислением ИТОГО.
на мой взгляд, должна быть формула, как в исходной таблице.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.06.2019, 18:03   #7
pumpkin007
 
Регистрация: 17.06.2019
Сообщений: 9
По умолчанию

Да вы правы, мне сам концепт показать нужно было, чисто для примера.

есть промежуток времени с 07-08, например, и он состоит из 2 строчек , мне нужно данные из этих 2 строк сложить, чтобы получилось одна.

Цену и итого, я не буду складывать, естественно!
pumpkin007 вне форума Ответить с цитированием
Старый 17.06.2019, 19:56   #8
Igor1961
Пользователь
 
Регистрация: 05.10.2015
Сообщений: 39
По умолчанию

Здравствуйте, pumpkin007
Такой вариант:
Код:
Sub qqq()
    Dim lc As Long
    Range(Cells(18, 2), Cells(19, 52)).ClearContents
For lc = 2 To 52
  If Cells(4, lc).Value <> "" Or Cells(5, lc).Value <> "" Then
     Cells(18, lc).Value = Cells(4, lc).Value + Cells(5, lc).Value
  End If
  If Cells(6, lc).Value <> "" Or Cells(7, lc).Value <> "" Then
     Cells(19, lc).Value = Cells(6, lc).Value + Cells(7, lc).Value
  End If
Next lc
End Sub
Вложения
Тип файла: xls пример_1.xls (37.5 Кб, 21 просмотров)
Igor1961 вне форума Ответить с цитированием
Старый 17.06.2019, 21:04   #9
pumpkin007
 
Регистрация: 17.06.2019
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Igor1961 Посмотреть сообщение
Sub qqq()
Dim lc As Long
Range(Cells(18, 2), Cells(19, 52)).ClearContents
For lc = 2 To 52
If Cells(4, lc).Value <> "" Or Cells(5, lc).Value <> "" Then
Cells(18, lc).Value = Cells(4, lc).Value + Cells(5, lc).Value
End If
If Cells(6, lc).Value <> "" Or Cells(7, lc).Value <> "" Then
Cells(19, lc).Value = Cells(6, lc).Value + Cells(7, lc).Value
End If
Next lc
End Sub

Спасибо,Егор!
1. А можно это переносить не в отдельную таблицу, а делать уже в существующей?
2. Если у меня 500 строк,допустим, мне для каждой писать сочетание?нельзя как нибудь сделать n+1?
pumpkin007 вне форума Ответить с цитированием
Старый 17.06.2019, 21:43   #10
pumpkin007
 
Регистрация: 17.06.2019
Сообщений: 9
По умолчанию

Что то типа этого, только со сложением строк

Код:
Sub Примерl()
Dim i As Long
Dim j As Long
Dim k As Long
Dim intext As String
Application.DisplayAlerts = False
For k = 1 To Selection.Areas.Count
  For i = 1 To Selection.Areas(k).Columns.Count
    intext = Selection.Areas(k).Cells(1, i)
    For j = 2 To Selection.Areas(k).Rows.Count
     intext = intext & Chr(10) & Selection.Areas(k).Cells(j, i)
    Next
    Selection.Areas(k).Columns(i).Merge
    Selection.Areas(k).Cells(1, i) = intext
  Next
Next
Application.DisplayAlerts = True
End Sub
______________________
Используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ

Последний раз редактировалось Serge_Bliznykov; 18.06.2019 в 09:18.
pumpkin007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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