Вечер добрый, подскажите пожалуйста как в таблице столбец перемножить на число из столбца "ед.изм." и вставить значения а в самом столбце оставить ед. изм без числа в примере показано, как хочется что было (формула в файле которой думал воспользоваться)
Вечер добрый, подскажите пожалуйста как в таблице столбец перемножить на число из столбца "ед.изм." и вставить значения а в самом столбце оставить ед. изм без числа в примере показано, как хочется что было (формула в файле которой думал воспользоваться)Gjlhzl
gling, извините возможно не правильно поставил задачу... весь прикол в том что таблица создается макросом из других файлов с таблицами, после хочу макросом ее "причесать"... вот и подумал как добавить в макрос что бы столбцы ед изм и кол-во приняли такой вид..думал что бы в макросе расчитать формулами и подставить значения в эти же столбцы если возможно так?
gling, извините возможно не правильно поставил задачу... весь прикол в том что таблица создается макросом из других файлов с таблицами, после хочу макросом ее "причесать"... вот и подумал как добавить в макрос что бы столбцы ед изм и кол-во приняли такой вид..думал что бы в макросе расчитать формулами и подставить значения в эти же столбцы если возможно так?Gjlhzl
Sub Gjlhzl() Dim rR As Range For Each rR In Range("a2:a10") rR.Offset(0, 1) = rR.Offset(0, 1) * Left(rR, WorksheetFunction.Find(" ", rR) - 1) rR = Mid(rR, WorksheetFunction.Search(" ", rR) + 1, 2) Next rR End Sub
Sub Gjlhzl() Dim rR As Range For Each rR In Range("a2:a10") rR.Offset(0, 1) = rR.Offset(0, 1) * Left(rR, WorksheetFunction.Find(" ", rR) - 1) rR = Mid(rR, WorksheetFunction.Search(" ", rR) + 1, 2) Next rR End Sub
Serge_007, замечательно....спасибо а если диапазон таблицы не определен? и как будет выглядеть формула если в ед.изм будет 100м2 - бкз пробела между числом и текстом?
Serge_007, замечательно....спасибо а если диапазон таблицы не определен? и как будет выглядеть формула если в ед.изм будет 100м2 - бкз пробела между числом и текстом?Gjlhzl
Сообщение отредактировал Gjlhzl - Вторник, 24.10.2023, 23:00
Serge_007, это понятно... хорош делать, когда знаешь...сам не справлюсь, и макрос останавливается если в ед изм попадается ед изм без числа..... подкорректируйте код пожалуйста
Serge_007, это понятно... хорош делать, когда знаешь...сам не справлюсь, и макрос останавливается если в ед изм попадается ед изм без числа..... подкорректируйте код пожалуйстаGjlhzl
Сообщение отредактировал Gjlhzl - Среда, 25.10.2023, 00:24
Serge_007, извиняюсь. подправил пример. короче на любое число перед текстом (с пробелом или без) числа в столбце кол-во * на него, столбец ед. расценка / на него
Serge_007, извиняюсь. подправил пример. короче на любое число перед текстом (с пробелом или без) числа в столбце кол-во * на него, столбец ед. расценка / на негоGjlhzl
Public Function EDIZM(Text As String, ed As Byte) Set re = CreateObject("VBScript.RegExp") re.Pattern = "(\d+)(.+)" re.Global = True If re.test(Text) Then EDIZM = Trim(re.Execute(Text)(0).submatches(ed)) End Function
Public Function EDIZM(Text As String, ed As Byte) Set re = CreateObject("VBScript.RegExp") re.Pattern = "(\d+)(.+)" re.Global = True If re.test(Text) Then EDIZM = Trim(re.Execute(Text)(0).submatches(ed)) End Function
Смотрите файл пример. А в целом, я не понимаю Вашего вопроса, Вы разместили тему на ветке "Вопросы по VBA", значит как минимум должны иметь об этом представление. Ну а если и с формулами проблема, то я умываю руки
Смотрите файл пример. А в целом, я не понимаю Вашего вопроса, Вы разместили тему на ветке "Вопросы по VBA", значит как минимум должны иметь об этом представление. Ну а если и с формулами проблема, то я умываю руки msi2102
Сообщение отредактировал msi2102 - Среда, 25.10.2023, 15:02
msi2102, а как эту функцию "EDIZM" записать в макрос что бы , в макросе бралось значение ячейки столбца Ед. изм. допустим 100м2, расчитывалось в функции и после в эту же ячейку записывалось уже значение м2
msi2102, а как эту функцию "EDIZM" записать в макрос что бы , в макросе бралось значение ячейки столбца Ед. изм. допустим 100м2, расчитывалось в функции и после в эту же ячейку записывалось уже значение м2Gjlhzl
а как эту функцию "EDIZM" записать в макрос что бы
Я Вас не понимаю, Вы файл открывали? В файле уже всё сделано, желтые ячейки с помощью UDF (пользовательская функция), а оранжевые с помощью формул. Задайте эти формулы в соседних ячейка потом скопируйте и вставьте значения. Если Вам нужно просто поменять значения в этих ячейках, то перепишите эту UDF в обычную процедуру, добавьте цикл по всем ячейкам и будет Вам счастье, но я бы на Вашем месте не стал этого делать, т.к. если произойдет где-то ошибка, то Вы уже ничего не сможете откатить назад, только закрывать без сохранения или сохранять файл под другим именем. PS Эти функции будут работать при условии (см. Ваш файл с примером), что вначале идёт число, если будет просто "м2", то будет ошибка
а как эту функцию "EDIZM" записать в макрос что бы
Я Вас не понимаю, Вы файл открывали? В файле уже всё сделано, желтые ячейки с помощью UDF (пользовательская функция), а оранжевые с помощью формул. Задайте эти формулы в соседних ячейка потом скопируйте и вставьте значения. Если Вам нужно просто поменять значения в этих ячейках, то перепишите эту UDF в обычную процедуру, добавьте цикл по всем ячейкам и будет Вам счастье, но я бы на Вашем месте не стал этого делать, т.к. если произойдет где-то ошибка, то Вы уже ничего не сможете откатить назад, только закрывать без сохранения или сохранять файл под другим именем. PS Эти функции будут работать при условии (см. Ваш файл с примером), что вначале идёт число, если будет просто "м2", то будет ошибкаmsi2102