Как прибавить значение одной ячейки к другой

Программирование на Visual Basic for Applications
GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Как прибавить значение одной ячейки к другой

Сообщение GAL » 23.02.2010 (Вт) 10:31

Нужно, чтобы в таблице Excel при определенном значении в одной ячейке в другой ячейке к ее значению добавлялась единица.
Делаю так, но увы..
If Worksheets("Лист1").Range("F5") = "8:15" Then Worksheets("Лист1").Range ("G5") + "1"
Подскажите, пожалуйста, в чем ошибка.. По темам в форуме смотрел - не нашел.
Заранее, спасибо.
Мне советовали выкрасить шкуру. Нелепый совет. Крашеный ли волк, стриженый ли волк, он все равно не похож на пуделя. (c) М. А. Булгаков

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Re: Как прибавить значение одной ячейки к другой

Сообщение Calvin » 23.02.2010 (Вт) 12:13

Код: Выделить всё
Worksheets("Лист1").Range("G5")=Worksheets("Лист1").Range("G5")+1
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Re: Как прибавить значение одной ячейки к другой

Сообщение GAL » 23.02.2010 (Вт) 14:22

Да, это работает если в ячейке стоит число, а если там буква и мне нужно посчитать сколько, к примеру, букв "В" в этой строке? Тогда как?
Мне советовали выкрасить шкуру. Нелепый совет. Крашеный ли волк, стриженый ли волк, он все равно не похож на пуделя. (c) М. А. Булгаков

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Re: Как прибавить значение одной ячейки к другой

Сообщение Calvin » 23.02.2010 (Вт) 15:51

А можно поточнее, а то не совсем понятно, что нужно?
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Re: Как прибавить значение одной ячейки к другой

Сообщение GAL » 23.02.2010 (Вт) 16:29

есть строка в ней 30 ячеек, одни из них содержат букву "В", а другие во временном формате содержат значение "8:15", так вот мне нужно подсчитать количественно сколько будет тех и тех ячеек по отдельности.
Мне советовали выкрасить шкуру. Нелепый совет. Крашеный ли волк, стриженый ли волк, он все равно не похож на пуделя. (c) М. А. Булгаков

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Re: Как прибавить значение одной ячейки к другой

Сообщение Calvin » 23.02.2010 (Вт) 17:12

да вроде все просто
Код: Выделить всё
Dim RangeAll as Range
Set RangeAll=range("A1:A30")

for each r in RangeAll
  if instr(r,"8:15") then
      Num815=Num815+1
   elseif instr(r,"В") then
      NumВ=NumВ+1
   end if
next

-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Re: Как прибавить значение одной ячейки к другой

Сообщение GAL » 23.02.2010 (Вт) 18:11

Может я туплю.. но что-то не работает.. :(
результат где должен отобразиться? мне нужно, чтобы в ячейке отобразился результат, дополните код пожалуйста, а то я не осилю вот так..
Мне советовали выкрасить шкуру. Нелепый совет. Крашеный ли волк, стриженый ли волк, он все равно не похож на пуделя. (c) М. А. Булгаков

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Re: Как прибавить значение одной ячейки к другой

Сообщение Calvin » 24.02.2010 (Ср) 16:09

Код: Выделить всё
Dim RangeAll as Range
Set RangeAll=range("A1:A30")

for each r in RangeAll
  if instr(r,"8:15") then
      Num815=Num815+1
   elseif instr(r,"В") then
      NumВ=NumВ+1
   end if
next

'а потом присвоить значение переменной (или Num815 или NumВ) какой-нибудь ячейке
Worksheets("Лист1").Range("F5") = Num815
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Re: Как прибавить значение одной ячейки к другой

Сообщение GAL » 25.02.2010 (Чт) 9:43

У меня ваш код ничего не считает, в ячейке просто выводиться 0:00
Вот:
Код: Выделить всё
Sub sum()
Dim Num815 As Long
Dim RangeAll As Range
Set RangeAll = Range("A1:O1")
For Each r In RangeAll
  If InStr(r, "8:15") Then
      Num815 = Num815 + 1
  ElseIf InStr(r, "Â") Then
      Num = Num + 1
   End If
Next
Worksheets("Лист1").Range("A5") = Num815
End Sub


Вы сами проверяли код на работоспособность?
[Viper] :: Не забываем использовать тэг CODE
Мне советовали выкрасить шкуру. Нелепый совет. Крашеный ли волк, стриженый ли волк, он все равно не похож на пуделя. (c) М. А. Булгаков

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Re: Как прибавить значение одной ячейки к другой

Сообщение Calvin » 25.02.2010 (Чт) 13:21

у меня все работает....короче...книгу выложи плиз
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Re: Как прибавить значение одной ячейки к другой

Сообщение GAL » 25.02.2010 (Чт) 14:07

Вот ..
Вложения
Книга1.xls
(22.5 Кб) Скачиваний: 135
Мне советовали выкрасить шкуру. Нелепый совет. Крашеный ли волк, стриженый ли волк, он все равно не похож на пуделя. (c) М. А. Булгаков

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Re: Как прибавить значение одной ячейки к другой

Сообщение Calvin » 25.02.2010 (Чт) 16:11

ну как была поставлена задача, таков был и ответ...дело в том, что в ячейках содержатся данные с форматом времени, поэтому надо немного изменить
Код: Выделить всё
Sub sum()
Dim Num815 As Long
Dim RangeAll As Range
Set RangeAll = Range("A1:O1")
For Each r In RangeAll
  If InStr(r.text, "8:15") Then
      Num815 = Num815 + 1
  ElseIf InStr(r.text, "Â") Then
      Num = Num + 1
   End If
Next
Worksheets("Лист1").Range("A5") = Num815
End Sub

а вообще в принципе задача в целом до сих пор не ясна...что имеено надо проанализировать - наличие "8:15", так и "В" в ячеках, расположенных в пределах одной строки?
Решение тут простое, только вот задача некорректная....уточни
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Re: Как прибавить значение одной ячейки к другой

Сообщение GAL » 25.02.2010 (Чт) 16:48

Да, это работает, считает корректно. :thumleft: Спасибо!

Это для подсчета рабочих дней, типа табель учета.. можно было бы воспользоваться формулой:
=СЧЁТЕСЛИ(A1:A5;"8:15"), но я хотел бы все сделать через макрос.

И спасибо еще раз за помощь и за потраченное время!
Мне советовали выкрасить шкуру. Нелепый совет. Крашеный ли волк, стриженый ли волк, он все равно не похож на пуделя. (c) М. А. Булгаков


Вернуться в VBA

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

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

    TopList