powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Split
8 сообщений из 8, страница 1 из 1
Split
    #37439348
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте всем, подскажите пожалуйста, как мне описать такую функция, у меня в столбце, в первой ячейки, есть знак «=», во второй строке нет знака «=», я хочу написать такую функцию : если есть знак «=», то запускается макрос , если нет , то идем строчкой ниже : примерно получилось следующее
For i = 1 To UBound(x)
If I nStr(temp(i), t) > 0 Then (вот здесь и есть загвоздка как описать если есть знак равно то выполняется функция.)
….
Next
End Sub
...
Рейтинг: 0 / 0
Split
    #37439666
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попытался, вот так сравнить через IsNumeric но все равно не получается , подскажите что не так?
Sub test()
Dim x
Dim i As Long
Application.ScreenUpdating = False
x = Range([A2], Cells(Rows.Count, 8).End(xlUp).Offset(0, 1))
Range([c2], Cells(Rows.Count, "i").End(xlUp).Offset(0, 1)).ClearContents
ReDim y(1 To UBound(x), 1 To 7)
On Error Resume Next
For i = 1 To UBound(x)
If Not IsNumeric(Split(x(i, 3), "=")) <> "" Then
y(i, 1) = Trim(Split(x(i, 3), "l=")(0))
y(i, 2) = (Trim(Split(x(i, 3), "l=")(1)) / 1000) * x(i, 4)
y(i, 3) = x(i, 5)
y(i, 4) = x(i, 6) / (Trim(Split(x(i, 3), "l=")(1)) / 1000)
y(i, 5) = x(i, 7)
y(i, 6) = x(i, 8)
y(i, 7) = x(i, 9)
Else
y(i, 1) = x(i, 3)
y(i, 2) = x(i, 4)
y(i, 3) = x(i, 5)
y(i, 4) = x(i, 6)
y(i, 5) = x(i, 7)
y(i, 6) = x(i, 8)
y(i, 7) = x(i, 9)
End If
Next
[c2].Resize(i - 1, 7) = y
' [a:P].EntireColumn.AutoFit
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
...
Рейтинг: 0 / 0
Split
    #37439757
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0creator0,

Split(x(i, 3), "=")
это массив строк, там не может быть IsNumeric.
А если анализировать Ubound, то оно всегда IsNumeric.

Если хотите узнать, есть ли "=" то смотрите по Instr()
...
Рейтинг: 0 / 0
Split
    #37439788
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0creator0если есть знак «=», то запускается макрос , если нет , то идем строчкой нижеа с каких пор запрещено юзать ф-цию left() или instr()/ yfabuf сплиповать массив?
...
Рейтинг: 0 / 0
Split
    #37439803
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PlanB, это можно сказать продолжение темы.
Это мой макрос - я просто сплитил и раскидывал по ячейкам.
Теперь ТС судя по всему хочет сделать ветвление - нужно сплитить или нет.
...
Рейтинг: 0 / 0
Split
    #37439807
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, и если проверять на наличие =, то On Error Resume Next уже не нужен - ошибок ведь не будет с (Split(x(i, 3), "l=")(1)
...
Рейтинг: 0 / 0
Split
    #37439821
0creator0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121 ну просто огромнейшее спасибо очень сильно мне сегодня помогли , уже сбился со счету сколько раз , очень признателен и благодарен. Не хотел на том форуме вам задавит вопрос, так как не хотел показаться назойливым))
Sub test()
Dim x
Dim i As Long
Application.ScreenUpdating = False
x = Range([A2], Cells(Rows.Count, 9).End(xlUp))
Range([c2], Cells(Rows.Count, "i").End(xlUp).Offset(0, 1)).ClearContents
ReDim y(1 To UBound(x), 1 To 7)

For i = 1 To UBound(x)
' If InStr(Split(x(i, 3), ""), "l=") "" Then
If InStr(x(i, 3), "l=") > 0 Then
y(i, 1) = Trim(Split(x(i, 3), "l=")(0))
y(i, 2) = (Trim(Split(x(i, 3), "l=")(1)) / 1000) * x(i, 4)
y(i, 3) = x(i, 5)
y(i, 4) = x(i, 6) / (Trim(Split(x(i, 3), "l=")(1)) / 1000)
y(i, 5) = x(i, 7)
y(i, 6) = x(i, 8)
y(i, 7) = x(i, 9)
Else
y(i, 1) = x(i, 3)
y(i, 2) = x(i, 4)
y(i, 3) = x(i, 5)
y(i, 4) = x(i, 6)
y(i, 5) = x(i, 7)
y(i, 6) = x(i, 8)
y(i, 7) = x(i, 9)
End If
Next
[c2].Resize(i - 1, 7) = y
[a:P].EntireColumn.AutoFit

Application.ScreenUpdating = True
End Sub
Теперь все работает, ещё раз вам спасибо!)))
...
Рейтинг: 0 / 0
Split
    #37439843
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
0creator0, ну и хорошо. И хорошо, что сами в итоге наладили :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Split
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]