Страница: 1 |
|
Вопрос: Новое сообщение без темы
|
Добавлено: 11.04.03 19:42
|
|
Автор вопроса: wad
|
Запивал в строкуЛист1- Sub Probe() Dim SStr As String, Pos As Integer Dim StDate As String, StInitials As String, StTime As String Dim Pos1 As Integer, Pos2 As Integer, Pos3 As Integer SStr = Sheets(<Лист1>).Cells(1, 1).Value ' читаем из ячейки А1 Pos1 = InStr(1, SStr, " ") 'пробел между датой и фамилией Pos2 = InStr(Pos1 + 1, SStr, " ") 'пробел между фамилией и именем Pos3 = InStr(Pos2 + 1, SStr, " ") 'пробел между именем и временем StDate = Mid(SStr, 1, Pos1 - 1) ' выделяем дату StInitials = Mid(SStr, Pos1 + 1, Pos3 - Pos1 - 1) ' выделяем фамилию и имя StTime = Mid(SStr, Pos3 + 1) ' выделяем время Sheets(<Лист1>).Cells(1, 2).Value = Hour(StTime) ' записываем часы в В1 Sheets(<Лист1>).Cells(1, 3).Value = Minute(StTime) ' записываем минуты в С1 End Sub В строчках помеченых вопросом пишет-Compile error:Syntax error
Ответить
|
Номер ответа: 1 Автор ответа: Alex&r
Вопросов: 10 Ответов: 105
|
Профиль | | #1
|
Добавлено: 11.04.03 17:16
|
Предположим в ячейке А1 имеется запись: 12.1.2003 Иванов Иван 17:30 Делаем: Сервис -> Макрос -> Редактор Visual Basic. Пишем макрос. Sub Probe() Dim SStr As String, Pos As Integer Dim StDate As String, StInitials As String, StTime As String Dim Pos1 As Integer, Pos2 As Integer, Pos3 As Integer SStr = Sheets(<лист>.Cells(1, 1).Value ' читаем из ячейки А1 Pos1 = InStr(1, SStr, " ") 'пробел между датой и фамилией Pos2 = InStr(Pos1 + 1, SStr, " ") 'пробел между фамилией и именем Pos3 = InStr(Pos2 + 1, SStr, " ") 'пробел между именем и временем StDate = Mid(SStr, 1, Pos1 - 1) ' выделяем дату StInitials = Mid(SStr, Pos1 + 1, Pos3 - Pos1-1) ' выделяем фамилию и имя StTime = Mid(SStr, Pos3 + 1) ' выделяем время Sheets(<лист>.Cells(1, 2).Value = Hour(StTime) ' записываем часы в В1 Sheets(<лист>.Cells(1, 3).Value = Minute(StTime) ' записываем минуты в С1 End Sub
Соответственно для следующих строк - Cells(N,1) <лист> - номер листа или его "имя". Успехов!!
Ответить
|
Номер ответа: 2 Автор ответа: wad
Вопросов: 3 Ответов: 6
|
Профиль | | #2
|
Добавлено: 11.04.03 19:42
|
Запивал в строкуЛист1- Sub Probe() Dim SStr As String, Pos As Integer Dim StDate As String, StInitials As String, StTime As String Dim Pos1 As Integer, Pos2 As Integer, Pos3 As Integer SStr = Sheets(<Лист1>.Cells(1, 1).Value ' читаем из ячейки А1 Pos1 = InStr(1, SStr, " ") 'пробел между датой и фамилией Pos2 = InStr(Pos1 + 1, SStr, " ") 'пробел между фамилией и именем Pos3 = InStr(Pos2 + 1, SStr, " ") 'пробел между именем и временем StDate = Mid(SStr, 1, Pos1 - 1) ' выделяем дату StInitials = Mid(SStr, Pos1 + 1, Pos3 - Pos1 - 1) ' выделяем фамилию и имя StTime = Mid(SStr, Pos3 + 1) ' выделяем время Sheets(<Лист1>.Cells(1, 2).Value = Hour(StTime) ' записываем часы в В1 Sheets(<Лист1>.Cells(1, 3).Value = Minute(StTime) ' записываем минуты в С1 End Sub В строчках помеченых вопросом пишет-Compile error:Syntax error
Ответить
|
Страница: 1 |
Поиск по форуму