Страницы: 1
RSS
Макрос пишет ошибку при умножении компонентов
 
Коллеги, добрый вечер.
Вопрос очень простой, даже не вижу необходимости скидывать пример.
VBA ругается на мой кривой макрос, не знаю как записать.
Суть: Нужно, чтобы результат в колонке 11 = произведению колонки 9 8 и 7 деленный на 1млн, короче считаем объем построчно.
Вопрос элементарный.На форуме признаюсь долго не искал
Код
Dim ans As String
Dim ans1 As String
Dim str As Long   
   ans = MsgBox("ммм", vbYesNo)

   If ans = vbYes Then
       For str = 1 To 30000
          Cells(str, 11).Value = Cells(str, 9).Value * Cells(str, 8).Value * Cells(str, 7).Value
       Next str
   Else
       ans1 = MsgBox("ммм", vbOKOnly)
   End If 
End Sub
 
Код следует оформлять соответствующим тегом. Ищите такую кнопку и исправьте своё сообщение.
Спасибо!
 
Юрий, спасибо.
 
У меня код работает без ошибок
Цитата
...не вижу необходимости скидывать пример
Плохо смотрите...
 
И у меня без ошибок )
 
Коллеги, файл во вложении, сам код длиннее,макрос "взвешивание20"
Не работает и пишет ошибку
Run-time Error 13
Type mismatch


Файл заменен. Зачем 1000 строк и около 100 кБ?
Пример - это пример, а не рабочий файл
[МОДЕРАТОР]
 
У меня вываливается в ошибку на строке
Код
ActiveSheet.Range("$A$1:$Y$100000").AutoFilter Field:=21, Criteria1:= "00.00.0000"

Оно и понятно - автофильтр установлен до 19 столбца, а Вы просите 21

То, о чем Вы пишете.
Попробуйте умножить:
=0,48*"СМ"*50
Run-time Error 13 Type mismatch - несоответствие типа данных. Число умножать на текст - неправильно как-то, да?
 
Вроде считал по каждой колонке, странно, а вот так если колонки не считать(и высчитывать какая она будет по счёту), как проще?
 
Не понял... В одном столбце текст.
Текст*число=ошибка
Или в математике произошел переворот и теперь новые правила?
 
Уважаемый vikttur, да ошибка очевидна, я о другом.
О форме записи, чтобы не считать номера колонок, так как когда записывал макрос я считал 11 колонка 8 колонка и тд., можно макрос записать так чтобы их не считать?
 
Присвойте переменной номер нужного столбца и используйте ее в коде фильтра
Например
Код
  NumCl = Worksheets("взвешивание1").Rows(1).Find("СМ3", LookIn:=xlValues).Column 
В этой строке переменной  NumCl будет присвоен номер столбца, в первой ячейке которого записано значение СМ3
Согласие есть продукт при полном непротивлении сторон
 
Чтобы не считать, можно искать нужный столбец по шапке, по виду данных...
 
Вариант "по шапке" в сообщении 11
Согласие есть продукт при полном непротивлении сторон
Страницы: 1
Наверх