Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Нахождение вхождения текста по маскам в коде VBA
 
Хотелось бы решить тривиальную задачу по обнаружению факта вхождения одного текста в другой. Исходные данные берутся из ячейки [C2]. В ней находится артикул товара. Сложность заключается в том, что артикул имеет постоянную составляющую (переменное кол-во первых букв) и переменную составляющую зависящую от даты. В теле программы задается массив, в котором содержатся возможные маски. Пусть в ячейке C2 сейчас BRX1. Однако сравнить по маске не получается. Code 1 выдает всегда 0, Code 2 всегда выдает ошибку, хотя смотрел здесь и вроде, судя по описанию, всё должно работать без ошибок. Не пойму в чем затык, помогите плиз).
Код
Option Explicit
Option Base 1
Sub Tiker_array_ALL()
   Dim j As Integer
   Dim Ticker As Variant
   Ticker = Array("BR??", "БОЛТ", "Гайка*", "US*", "Сев*")
'   Code 1   
   For j =1 To Ubound(Ticker)
      Cells(j + 1, 10) = InStr(1, [C2], Ticker(j), 1)
   Next
'   Code 2   
   For j =1 To Ubound(Ticker)
      Cells(j + 1, 11) = WorksheetFunction.Match(Ticker(j), [C2], 0)
   Next
End Sub
Присвоить одинаковое значение одновременно нескольким переменным
 
Добрый день!
Есть несколько строк кода
Код
s = 0
b = 0
sk = 0
bk = 0
Хотелось бы переписать всё это в одну строку. На Lua это выглядело бы так:
Код
s, b, sk, bk = 0
А на vba что-нибудь подобное написать можно, чтобы на одной строке уместилось?
Скорость расчетов в Excel зависит от установленной версии visual c++?
 
Добрый день!
Хотелось бы задать глупый вопрос. Скорость расчетов в эксель может зависеть от установленной версии visual c++ или допустим какие-то новые функции эксель будут криво работать если на компе установлена только с++ 2015, а с++ 2019 нет?
Возможно ли применение новой функции ПРОСМОТРХ (XLOOKUP) к текстовым данным
 
Добрый день. Допустим есть такие данные и мне нужно узнать номер строки в которой находится запись 10:32:05. Как видно,  данные представлены в виде текста. Конечно можно использовать NumberFormat + CountIf, но мне интересно можно ли применить новую функцию XLOOKUP в коде vba так, чтобы не преобразовывать данные в столбце "В" в числа? Сам пробовал, но не получилось.
Такой код тоже не фурычит:
Код
[J2] = Range("B:B").Find("10:32:05", xlValues, xlByRows).Row

 
В новом офисе не работают новые функции для динамических массивов
 
Добрый день)
Вроде в новом офисе были анонсированы новые функции по работе с динамическими массивами, но не увидел у себя например функции УНИК. Версия экселя 1908. Среди Worksheetfunction есть Unique, но запуск кода приводит к ошибке

Запускал простенький код:
Код
Sub Ex()
Dim A    
In_data = Range(Cells(2, 4), Cells(9, 4))
A = WorksheetFunction.Unique(In_data, True, False)
End Sub
Получить тип данных, записанных в ячейке
 
Добрый день!
В столбцах B & G текстовые данные. Поэтому после запуска следующего кода:
Код
Sub Data_type()
    [K2] = TypeName([B2])
    [K3] = TypeName([G2])
End Sub                                          
ожидал увидеть на выходе что-то типа String, а выводит Range! Однако, нет такого типа данных в спецификации на TypeName, что тогда означает здесь Range?
SumIfs не работает, если числа имеют знаки после запятой
 
Есть в коде VBA формула
Код
[N3] = WorksheetFunction.SumIfs(Range("F:F"), Range("D:D"), ">=" & X, Range("D:D"), "<" & Y, Range("Е:Е"), "Продажа")

Значения X и Y определяются пользователем и заведомо входят в диапазон из столбца D
Формула отлично работает, если в столбце D цена кратна одному рублю. Однако бывают листы, где цены товара в столбце D с копейками. Тогда в ячейку N3 выводится 0. Зато формула работает c копейками, но без знаков больше меньше, например:
Код
[N3] = WorksheetFunction.SumIfs(Range("F:F"), Range("E:E"), "Продажа", Range("D:D"), Y)

Написал вместо формулы цикл – он работает существенно медленнее, хотелось бы вернуться к формуле. Че за баг такой не пойму?
Изменено: Glago - 03.03.2019 17:16:40
Страницы: 1
Наверх