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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2010, 13:27   #1
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию Подсчет данных введенных в одной ячейке.

Очень нужна помощь. В приложении пример. В поле "Результат A1" необходимо подсчитать сумму 10 чисел указанных слева от значка "-" в ячейке "Ряд A", в поле "Результат A2" - справа от значка "-". Соответственно для ряда B.
Вложения
Тип файла: zip sample.zip (1.4 Кб, 17 просмотров)
Hagen83 вне форума Ответить с цитированием
Старый 13.04.2010, 13:58   #2
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

я бы тому кто это придумал, в голову гвоздь забил (с)

это я про "данные" в одной ячейке.
Dophin вне форума Ответить с цитированием
Старый 13.04.2010, 14:03   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Надо сделать формулами, или можно макросом?
EducatedFool вне форума Ответить с цитированием
Старый 13.04.2010, 14:05   #4
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Надо сделать формулами, или можно макросом?
Как удобнее, не принципиально... А вообще даже не думал, что эту задачу можно выполнить стандартными функциями :-)

Последний раз редактировалось Hagen83; 13.04.2010 в 14:10.
Hagen83 вне форума Ответить с цитированием
Старый 13.04.2010, 14:12   #5
Skif-F
Форумчанин
 
Регистрация: 24.03.2010
Сообщений: 349
По умолчанию

Примерно так:

Код:
Sub Прог()
    Dim s() As String, s2 As Variant
    Dim LeftSum As Double   'Сумма левого столбца
    Dim RightSum As Double  'Сумма правого столбца
    Dim pos As Integer
    
    RightSum = 0    'Начальное значение для суммы правого столбца
    LeftSum = 0     'Начальное значение для суммы левого столбца
    
    s = Split(Range("A2").Value, Chr(10))   'Разбиваем по строкам
    For Each s2 In s
        pos = InStr(1, s3, "-")             'Ищем позицию знака "-"
        LeftSum = LeftSum + Val(Left(s3, pos - 1))
        RightSum = RightSum + Val(Right(s3, Len(s3) - pos))
    Next
    Range("C2").Value = LeftSum
    Range("D2").Value = RightSum
End Sub
до ума, надеюсь, доведёшь
Нет нерешаемых задач - есть недостаток времени и данных!
Skif-F вне форума Ответить с цитированием
Старый 13.04.2010, 14:15   #6
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

десять символов.


можно так
Вложения
Тип файла: rar sample.rar (8.9 Кб, 17 просмотров)
Dophin вне форума Ответить с цитированием
Старый 13.04.2010, 14:19   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот вам макрос:
Код:
Sub test()
    On Error Resume Next
    Dim cell As Range, ra As Range: Application.ScreenUpdating = False
    Set ra = Range([A1], Range("A" & Rows.Count).End(xlUp))
    For Each cell In ra.Cells
        arr = "": arr = Split(cell, vbLf)
        res1 = 0: res2 = 0
        If UBound(arr) > 1 Then
            For Each i In arr
                res1 = res1 + Val(Split(i, "-")(0))
                res2 = res2 + Val(Split(i, "-")(1))
            Next i
            cell(1, 3) = res1: cell(1, 4) = res2
        End If
    Next cell
End Sub
И пример в виде файла: http://excelvba.ru/XL_Files/Sample__...__16-19-02.zip
EducatedFool вне форума Ответить с цитированием
Старый 13.04.2010, 14:26   #8
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию

Огромное спасибо. Это то, что нужно.
Hagen83 вне форума Ответить с цитированием
Старый 13.04.2010, 14:33   #9
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от Hagen83 Посмотреть сообщение
Как удобнее, не принципиально... А вообще даже не думал, что эту задачу можно выполнить стандартными функциями :-)
Странно...А это не Вы здесь аналогичный вопрос задавали?

Там автор очень категорично отзывался об использовании макросов.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 13.04.2010, 14:36   #10
Hagen83
Пользователь
 
Регистрация: 13.03.2010
Сообщений: 33
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Странно...А это не Вы здесь аналогичный вопрос задавали?

Там автор очень категорично отзывался об использовании макросов.
Это не я. Я уже писал, что сразу счел, что здесь без макросов не обойтись и удивился, когда меня спросили чем сделать: формулами или макросом)
Hagen83 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение текстовых данных в одной ячейке Bordyug Microsoft Office Excel 2 19.02.2010 15:07
Как написать макрос на перемену данных в одной ячейке nadia111 Microsoft Office Excel 4 19.12.2009 13:17
Проверка введенных данных viscas PHP 4 01.06.2009 02:41
суммирование данных, введенных в форму German Microsoft Office Excel 4 02.02.2009 07:31
проверка введенных данных Elm0 Общие вопросы Delphi 4 19.12.2008 19:00