Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2009, 12:54   #1
nemoomen
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 58
По умолчанию Проверяем на апостроф.

Уважаемые господа, прошу совета.
Я заметил, что если текстовая данная в ячейке начинается с апострофа -- ' -- то ексель этот апостроф по непонятной для меня причине убирает. В принципе устраивает вариант добавить пробел перед апострофом.

Далее - есть код для TextBox-а
Код:
Private Sub TB_NationalyEN_AfterUpdate()
    
    Dim m As Range
    
    Set m = Workbooks("DataBase.xls").Worksheets("Nationaly").Range("A:A").Find(what:=CB_NationalyRU.Value,  _
         LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
    Workbooks("DataBase.xls").Worksheets("Nationaly").Cells(m.Row, 2) = TB_NationalyEN.Value

End Sub
Помогите мне добавить проверку на первый знак "апостроф" с добавление, если он есть, пробела к тексту.
nemoomen вне форума Ответить с цитированием
Старый 08.08.2009, 14:52   #2
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Excel не убирает лидирующий апостроф а скрывает его в ячейке и не выводит при печати.
В значении ячейки он остаётся (достаточно взглянуть на строку формул)
Ввод лидирующего апострофа обычно используется для указания Excel что в ячейку вводится строковое значение.
Aent вне форума Ответить с цитированием
Старый 08.08.2009, 17:54   #3
nemoomen
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 58
По умолчанию

Это все понятно, но вопрос остался открытым!
Мне действительно нужен апостроф, документ выходит на печать.
nemoomen вне форума Ответить с цитированием
Старый 08.08.2009, 18:31   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Напишите 2 апострофа, один выйдет на печать.
puporev вне форума Ответить с цитированием
Старый 08.08.2009, 21:00   #5
nemoomen
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 58
По умолчанию

Возможно, для того чтобы всетаки получить ответ, перефразирую вопрос:
1. Подскажите, как проверить средствами VBA первый символ в текстовой переменной?

Господина ПРОФЕССИОНАЛА puporev-a устроит такой подход?
Апосторф вам в печать!!!!!!!!!!!!!
nemoomen вне форума Ответить с цитированием
Старый 08.08.2009, 21:53   #6
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

nemoomen, попробуйте так
Код:
Public Sub Pefixer()
   Dim r As Range
   For Each r In ActiveSheet.UsedRange
       If r.PrefixCharacter = "'" Then
           r.Value = " '" & r.Value
       End If
   Next r
End Sub
Aent вне форума Ответить с цитированием
Старый 09.08.2009, 00:12   #7
nemoomen
Пользователь
 
Регистрация: 26.02.2009
Сообщений: 58
По умолчанию

Ну вот! Сам разобрался!

Код:
 If Left(TB_Patronymic.Value, 1) = "'" Then TB_Patronymic.Value = " " & TB_Patronymic.Value
Всем спасибо!

Последний раз редактировалось nemoomen; 09.08.2009 в 00:47. Причина: Разобрался
nemoomen вне форума Ответить с цитированием
Старый 09.08.2009, 16:16   #8
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Кстати, апострофы еще ставяться через alt+0146, потому, я бы и такой апостроф учитывал
Tirendus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверяем наличие счета Romuald Microsoft Office Excel 2 14.01.2009 12:44