Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Help me Добавлено: 20.02.03 10:49  

Автор вопроса:  hamer | ICQ: 176191034 

Помогите плиз

Есть такая задачка:

Есть столбец с данными в Excel примерно такого вида

345343 Аромолампа

Обложка на документы

234567 Ластик

и т.д.

То есть числовой код перед наименованием товара не везде присутствует. Необходимо в Excel (а может и не в Excel) сделать проверку есть ли код и вслучае его присутствия его отрезать.

Я нарисовал макрос на VB но чето он не хочет у меня работать. Я уже незнаю что делать. Посмотрите может че упустил.

Private Sub CommandButton1_Click()
Sta = ot.Value
Stp = doo.Value
col_simv = sim.Value
p$ = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
For x = Sta To Stp
sp$ = Mid$(at$, 1, 6)
For i = 1 To 10
z = 1
t$ = Mid$(sp$, z + 1, 1)
If t$ = p$(i) Then
stx$ = Mid$(st$, col_simv + 1, Len(st$) - col_simv)
Range(LTrim(stolb) + LTrim(Str(x))).Value = stx$
Next i
Next x
MsgBox ("! Âñå !")
End Sub

Заранее благодарен Мах

max@stargate.orel.ru

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 Агент Смит



ICQ: 147404128 

Вопросов: 12
Ответов: 128
 Web-сайт: www.bbsoftware.ru
 Профиль | | #1
Добавлено: 20.02.03 11:16

Перебираешь построчно, смотришь Value в той колонке; потом при помощи instr смотришь позицию первого пробела; читаешь данные до него; ставишь обработчик ошибок on error goto ... ; если у тебя err.number = номеру ошибки при невозможности конвертировать в integer, то значит - то что мы считали это текст. Если нет то обкусываем этот кусок - дабы это цифры.

Ответить

Номер ответа: 2
Автор ответа:
 hamer



ICQ: 176191034 

Вопросов: 1
Ответов: 1
 Профиль | | #2 Добавлено: 20.02.03 11:33

Спасибо за ответ

Но проблема в том что я начинающий и это мой первый опыт общения с VB и вашем ответе я вижу только знакомые буквы

Ответить

Номер ответа: 3
Автор ответа:
 Агент Смит



ICQ: 147404128 

Вопросов: 12
Ответов: 128
 Web-сайт: www.bbsoftware.ru
 Профиль | | #3
Добавлено: 20.02.03 11:37

это не страшно - главное понять смысл

Ответить

Номер ответа: 4
Автор ответа:
 Bombardier



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #4
Добавлено: 20.02.03 12:57

как я понимаю, если в начале в ячейки числа, то это код... тогда можно так:

Private Function CutNumber(inData As String) As String

Dim temp As Integer

If Val(inData) > 0 Then 'если строка начинается с числа

temp = InStr(1, inData, " ") 'то ищем пробел

CutNumber = Right(inData, Len(inData) - temp)'и все что после него - возвращаем

Else 'если же нет

CutNumber = inData 'возвращаем все

End If

End Function

Ответить

Номер ответа: 5
Автор ответа:
 Bombardier



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #5
Добавлено: 20.02.03 13:09

Оказывается Hunter описал почти то-же самое... гы я даже не проглядел нить, а только на вопрос посмотрел ))

Ответить

Номер ответа: 6
Автор ответа:
 Агент Смит



ICQ: 147404128 

Вопросов: 12
Ответов: 128
 Web-сайт: www.bbsoftware.ru
 Профиль | | #6
Добавлено: 20.02.03 13:12

2Bombardier:  ага, только ты ещё при этом отказался от использования обработчика ошибок и использовал Val

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам