чч:мм:сс

Программирование на Visual Basic for Applications
OlegkA
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 23.12.2004 (Чт) 21:51

чч:мм:сс

Сообщение OlegkA » 13.01.2005 (Чт) 18:53

есть столбец с такими значениями надо надо ссумировать общее
значение всех ячеек. т.е если идет 00:01:10 и 00:02:00
то должно получиться 00:03:10.
Вроде так все элементарно но у меня нифига неполучается,
прошу помочь.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 13.01.2005 (Чт) 19:10

Тут без VB проще. Используй экселевскую функцию СУММ. Все должно работать правильно.

OlegkA
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 23.12.2004 (Чт) 21:51

Сообщение OlegkA » 14.01.2005 (Пт) 14:18

да в текст. формате идут ячейки я вроде через функцию элементарную делаю которая на панели автосумма,так вроде она называется
но все равно выводит 00:00:00
как быть?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.01.2005 (Пт) 14:48

Сотри значение, впиши формат времени (чч:мм:сс) и введи значения заново.
Другой вариант - в новом листе впиши 1, скопируй в буфер, сделай специальную вставку на своем листе, выбери "Умножить".
Lasciate ogni speranza, voi ch'entrate.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 14.01.2005 (Пт) 15:05

О, со специальной вставкой - это классный способ, не знал о таком! :)
Еще можно поставить столбик рядом, сделать ему нужный формат и написать формулу "=A1+0" (если в столбике A стоят числа в текстовом формате).

OlegkA
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 23.12.2004 (Чт) 21:51

Сообщение OlegkA » 14.01.2005 (Пт) 19:09

вообщем у меня 25 листов, в каждом листе 6000
строк в столбце с такими значения мне надо их подсчитать с койкаким условием но это отдельная тема, мне пока нужно узнать как с таким форматом бороться

OlegkA
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 23.12.2004 (Чт) 21:51

Сообщение OlegkA » 15.01.2005 (Сб) 11:51

pashulka писал(а):если они не содержат формул (ссылок), то решить Вашу проблему можно.


нет не содержат.
как будем решать? :roll:

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 15.01.2005 (Сб) 16:22

Ага, а еще два решения предложили alibek и одно - я. Выбирай - не хочу :)

Наверное, проще всего сделать с умножением на единицу: делаешь ячейку с единичкой, выделяешь ее и запускаешь примерно такой макрос:



Код: Выделить всё
For each i in Sheets
    i.Range(нужный_Range).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, SkipBlanks:=False, Transpose:=False
Next i


Вместо "нужный_Range" подставляешь место, где нужно заменить текст на числа. Если этот Range разный на каждом листе, придется еще слегка помучиться, чтобы сделать PasteSpecial именно на нем.

SergeySV2
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 06.01.2005 (Чт) 22:06

Сообщение SergeySV2 » 15.01.2005 (Сб) 16:59

Мне обычно проще написать такой код:

Код: Выделить всё
Public Sub Aa3b()

  Dim r As Range
  Dim d As Date
  Dim lCount As Long, i As Long
 
  ' отключаем обновление экрана
  Application.DisplayAlerts = False
 
  lCount = Selection.Cells.Count
  i = 0
   
  For Each r In Selection
    ' обновляем информацию в StatusBar'е
    Application.StatusBar = "Преобразовано - " & Round((i * 100) / lCount, 0)
   
    If Len(r.Value) > 0 Then
        d = Format(r.Value, "hh:mm:ss")
        If d > 0 Then
          r.NumberFormat = "h:mm:ss;@"
          r.Value = d
        End If
    End If
       
    i = i + 1
  Next r
 
  Application.DisplayAlerts = True
  Application.StatusBar = False
 
End Sub

Потом выдели нужные ячейки и запусти этот макрос.
Если много ячеек на разных листов, можешь написать свой макрос, который будет сам выделять ячейки на разных листах и запускать потом Macros1

OlegkA
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 23.12.2004 (Чт) 21:51

Сообщение OlegkA » 16.01.2005 (Вс) 18:49

SergeySV2,Пасип


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 57

    TopList