Страницы: 1
RSS
надоело переключать раскладку с рус на анг и обратно
 
надоело переключать раскладку с рус на анг и обратно  
в книге, в разные ячейки данные вводятся на разных языках.  
т.е. название вводится на русском, номер содержит латинские буквы, потом заказчик опять на русском, потом его номер..... и т.д.    
можно какнибудь на подобии ActiveCell.NumberFormat =  задавать для ячеек язык ввода?????
 
Как вариант - Punto Switcher 3.1.1 сб. 72. Но требует настройки.
 
Зато, когда настроил, забываешь про клавиши переключения раскладки.
Bite my shiny metal ass!      
 
Мне кажется не про это вопрос. Автор хотел бы запретить в некоторых ячейках ввод латиницы, в других - наоборот... А может я ошибаюсь.
 
> можно как-нибудь на подобии ActiveCell.NumberFormat = задавать для ячеек язык ввода  
 
Да, можно.  
По событию листа  SelectionChange можно переключать раскладки в зависимости от того, какая из ячеек выделена:  
 
Option Compare Text  
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
   Select Case Target.Address(0, 0)  
       Case "a3", "f5", "h6": ВключитьАнглийскуюРаскладку  
       Case Else: ВключитьРусскуюРаскладку  
   End Select  
End Sub  
 
 
Sub ВключитьРусскуюРаскладку()  
   ' Переключить на русский язык  
   x = ActivateKeyboardLayout&(kb_lay_ru, 0)  
End Sub  
 
 
Sub ВключитьАнглийскуюРаскладку()  
   ' Переключить на английский язык  
   x = ActivateKeyboardLayout&(kb_lay_en, 0)  
End Sub  
 
 
 
в стандартный модуль:  
 
Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long  
Public Const kb_lay_ru As Long = 68748313  
Public Const kb_lay_en As Long = 67699721  
 
 
Пример файла можно скачать здесь: http://excelvba.ru/XL_Files/Sample__17-11-2009__18-52-54.zip  
При выделении желтых ячеек будет автоматически включена английская раскладка,  
при выделении остальных - русская.
 
"a3", "f5", "h6" Это ячейки в которых будет анг раскладка???
 
ДА
 
{quote}{login=bandanas}{date=18.11.2009 05:16}{thema=}{post}"a3", "f5", "h6" Это ячейки в которых будет анг раскладка???{/post}{/quote}  
 
а как можно задать чтобы в диапазоне B:B был английский??? пробовал "B:B" неработает... range("B:B") тоже
 
{quote}{login=EducatedFool}{date=17.11.2009 04:51}{thema=}{post}> можно как-нибудь на подобии ActiveCell.NumberFormat = задавать для ячеек язык ввода  
 
Да, можно.  
По событию листа  SelectionChange можно переключать раскладки в зависимости от того, какая из ячеек выделена:  
 
Option Compare Text  
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
   Select Case Target.Address(0, 0)  
       Case "a3", "f5", "h6": ВключитьАнглийскуюРаскладку  
       Case Else: ВключитьРусскуюРаскладку  
   End Select  
End Sub  
 
 
Sub ВключитьРусскуюРаскладку()  
   ' Переключить на русский язык  
   x = ActivateKeyboardLayout&(kb_lay_ru, 0)  
End Sub  
 
 
Sub ВключитьАнглийскуюРаскладку()  
   ' Переключить на английский язык  
   x = ActivateKeyboardLayout&(kb_lay_en, 0)  
End Sub  
 
 
 
в стандартный модуль:  
 
Declare Function ActivateKeyboardLayout Lib "user32" (ByVal HKL As Long, ByVal flags As Long) As Long  
Public Const kb_lay_ru As Long = 68748313  
Public Const kb_lay_en As Long = 67699721  
 
 
Пример файла можно скачать здесь: http://excelvba.ru/XL_Files/Sample__17-11-2009__18-52-54.zip  
При выделении желтых ячеек будет автоматически включена английская раскладка,  
при выделении остальных - русская.{/post}{/quote}  
 
 
 
EXCELLENT SOLUTION!!!!
Страницы: 1
Читают тему
Наверх
Loading...