Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel: Перевод текста в верхний регистр

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

kspy



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашел вот такую вот конструкцию:

Код:
 
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Target это диапозон, который изменяется
If Target.Column = 2 Then'Если это вторая колонка, к примеру
'дальше проверяем статус заполнения, дабы не вызывать себя рекурсивно
If Not (Target.Text = UCase(Target.Text)) Then
Target = UCase(Target.Text)'и, если мы ещё не перевели все в верхний регистр, то переводим
End If
End If
End Sub
 

 
Но это у меня почему то не работает...  
я полный чайник в VB и в Excele тоже... Если данный код рабочий, - может я куда то не туда макрос вставляю?

Всего записей: 166 | Зарегистр. 04-11-2003 | Отправлено: 12:28 01-06-2004 | Исправлено: kspy, 12:31 01-06-2004
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
= UCase(Target.Text)
по идее этого достаточно... опиши задачу конкретнее что и где нужно исправлять?

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 13:37 01-06-2004
kspy



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообщем есть файл с текстовыми данными, несколько столбцов. Надо, например, 2 ой столбец перевести в верхний регистр. При открытии файла или при вводе инфы в ячейки данного столбца, все равно.  
 
А каким образом, этот макрос влепить в файл?  
Сервис -> Макрос -> Макросы -> Создать?
Помогите, плиз... я могу на перле сделать, но это будет через... можно же как то средствами самого Excel'я?

Всего записей: 166 | Зарегистр. 04-11-2003 | Отправлено: 15:33 01-06-2004
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вот так
Код:
Sub Convert()
  Set MyRange = ActiveSheet.UsedRange.Columns(2) 'Для 2-ого столбца
   For Each CurrentCell In MyRange.Cells
     CurrentCell.Value = UCase(CurrentCell.Value)
  Next CurrentCell
End Sub
 

а чтоб автоматом - помести функцию в качестве обработчика события,
например в Private Sub Workbook_Open() и наслаждайся преобразованием при каждом открытии документа :)...

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 12:58 02-06-2004
kspy



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tropin
Спасибо огромное! Все заработало

Всего записей: 166 | Зарегистр. 04-11-2003 | Отправлено: 20:44 02-06-2004
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel: Перевод текста в верхний регистр


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru