Страницы: 1
RSS
Определение типа содержимого ячейки
 
Уважаемые форумчане, помогите разобраться.  
Перечитал много тем, но решения так и не нашел, может быть не понимаю.  
 
Есть ячейка с датой, но тип содержимого - "label".  
Вопрос: как проверить тип содержимого?  
 
Пробовал так:  
 
If IsNumeric(Range("I8")) = false then  
  Range("I8:I10000").TextToColumns  
 
Или так:  
If IsDate(Range("I8")) = true then  
  Range("I8:I10000").TextToColumns  
Но мне кажется что это не то, потому что texttocolums применяется в любом случае
 
Т.е. идет перебор файлов.  
С определенного дня тип в поле изменился на value.  
Нужно сделать проверку, если тип текст то TextToColumns  
если value то ничего не делать.
 
Не понял.  
Но может так:  
 
If Range("I8").Value = Range("I8").Text Then MsgBox "текст"
 
Не то.  
Перебор файлов в которых данные. Данные приходят каждый день. Получается в месяц 31 файл.  
В начале месяца тип данных в столбце I был "label", а  позже стало "value".  
Нужно сделать проверку, если при переборе в текущем файле тип еще label, то сделать TextToColumns, если value, то не делать TextToColums
 
что за тип "label"?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Я не знаю такого типа данных.  
Может это что-то из нововведений 2010 в списках/таблицах? Нет у меня 2010...
 
введите в одну ячейку текст, а в другую число  
напишите =ячейка("тип";ячейка)  
в первом случае отобразит "l" во втором "v"  
что означает "label" и "value"
 
а причем тут ячейка()?  
речь вроде бы о VBA идёт?  
используйте функцию TypeName()
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Понятно.  
Но чтож тогда не то то? Работает мой код.
 
{quote}{login=ikki}{date=19.09.2012 06:03}{thema=}{post}а причем тут ячейка()?  
речь вроде бы о VBA идёт?  
используйте функцию TypeName(){/post}{/quote}  
Это ответ на ваш вопрос, по поводу типа данных в ячейке
 
Ячейка с датой при использовании =ЯЧЕЙКА("тип",B4) с введённой датой в B4 - v. Если значение даты введено в колонку с форматом ячеек текст, то эта же функция вернёт l.  
В VBA содержимое, записанное в ячейку с форматом текст, но содержащее значение даты можно проверить такой комбинацией  
IsDate(ActiveCell.Value) And Application.WorksheetFunction.IsText(ActiveCell.Value)
 
{quote}{login=anvg}{date=20.09.2012 10:32}{thema=}{post}Ячейка с датой при использовании =ЯЧЕЙКА("тип",B4) с введённой датой в B4 - v. Если значение даты введено в колонку с форматом ячеек текст, то эта же функция вернёт l.  
В VBA содержимое, записанное в ячейку с форматом текст, но содержащее значение даты можно проверить такой комбинацией  
IsDate(ActiveCell.Value) And Application.WorksheetFunction.IsText(ActiveCell.Value){/post}{/quote}  
То что нужно. Спасибо
 
Hugo, ikki спасибо!
Страницы: 1
Наверх