Если выделение (ячейка) находится ниже десятой строки - ячейка справа от неё объявляется переменной "а". Если выше десятой строки - ячейка слева.
Нужно, чтобы переменная "а" приняла значение выделенной ячейки, а затем - в этой же "а" выполнилась некая подстановка (например, исчезли запятые).
мой неработающий код:
Код
Sub a()
If Selection.Row > 10 Then
a = Selection.Offset(0, 1)
Else
a = Selection.Offset(0, -1)
End If
a.Formula = Selection
a.Replace What:=",", Replacement:=""
End Sub
я понимаю, что без файла не интересно)) но всё же, подскажите, что не так?
подозреваю, что "a.Formula" и "a.Replace" некорректны для поставленной задачи.
я новичок в программировании: возможно, хромает терминология
я хочу, чтобы эксель принял за "а" ту ячейку, которая находится справа, или слева от выделенной - в зависимости от положения выделения (ниже, или выше строки "10"). а потом - чтобы искомая "а" приняла значение выделения, с заменой имеющихся в выделении запятых
возможно, потребуется переписать код с нуля, но я-то и не знаю, как
Sub a()
If Selection.Row > 10 Then
a = Selection.Offset(0, 1)
Else
a = Selection.Offset(0, -1)
End If
' a.Formula = Selection - лишняя строка, закомментировал
' a.Replace What:=",", Replacement:="" - заменил на другую
a = VBA.Replace(a, ",", "")
End Sub
Что дальше с а хотите делать?
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/