Страницы: 1
RSS
Как записать выражение?
 
Как в VBA записать следующее выражение: Если(ДЛСТР(R[1]C[-4])>20;ПСТР(R[1]C[-4];2;20);R[1]C[-4])
пробовал так    
Application.WorksheetFunction.if(len(ss.Value)>20;mid(ss.Value;2;20);ss.Value)  
ругается.
 
как то, наверно,  
If Application.WorksheetFunction.Len(ss)>20 Then    
[a1] = Mid(ss,2,20)
Else if  
[a1] = ss
End If
 
{quote}{login=ViktorGil}{date=04.10.2010 02:29}{thema=Как записать выражение?}{post}Если(ДЛСТР(R[1]C[-4])>20;ПСТР(R[1]C[-4];2;20);R[1]C[-4])
{/post}{/quote}  
Если эту формулу просто записать в ячейку, то тоже ругается.
 
Или так:  
If Len(ss.Value) > 20 Then  
   ActiveCell = Mid(ss.Value, 2, 20)  
Else  
   ActiveCell = ss.Value  
End If  
 
Или так:  
ActiveCell.FormulaR1C1="=IF(LEN(R[1]C[-4])>20,MID(R[1]C[-4],2,20),R[1]C[-4])"
 
вот так правильнее  
If Len(ss) > 20 Then  
[a1] = Mid(ss, 2, 20)
Else  
[a1] = ss
End If
 
Или еще так можно:  
ActiveCell= IIf(Len(ss) > 20, Mid(ss, 2, 20), ss)
 
или так :  
 
mid(ss,1-(len(ss)>20),20)
Живи и дай жить..
 
Всем спасибо за помощь.Разобрался.
Страницы: 1
Читают тему
Наверх