Страница: 1 |
|
Вопрос: VBA, Exel
|
Добавлено: 11.04.03 14:17
|
|
Автор вопроса: wad
|
В Exel есть форма. 1-я строка(1) и столбец(А) с такими данными: день.месяц.год фамилия имя часы:минуты(это все в одной ячейке А1). Можно ли каким-то образом выделить только часы и минуты, скопировав часы в ячейку В1, минуты в С1? Данные каждый день вносятся в первый столбец до 200 строки(А200), накапливаются(1-й день в А1, 2-й в А2 и т.д). Можно решить этот вопрос средствами basic или макросами? Спасибо
Ответить
|
Номер ответа: 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 |
Поиск по форуму