См. Раздел «Мои таблицы здесь» My Spread Sheet, я кружил, где находятся 3 выпадающих списка.Выпадающий список Excel Автоматический выбор
Я недавно начал пытаться сделать очень простой VBA в Excel. В моем текущем расширенном листе у меня есть таблица рабочих часов, которая заполняется, выбирая дату из выпадающего списка, а затем выбирая часы работы каждого человека из выпадающего списка на человека, наконец, «установить» выбирается из третий выпадающий список, в результате которого таблица заполняется нужным временем для данной даты.
Принимая во внимание, что я новичок в этом, я хочу знать, есть ли способ, чтобы при выборе даты для первого раскрывающегося списка выпадающие списки для каждого человека будут автоматически определять время, которое уже в таблице?
Например, если 26/10/2016 были выбраны в раскрывающемся списке первой даты, ниже человека 1 автоматически выделит «02:25» из выпадающего списка, человек 2 будет autoselecgt «03:00» из капли вниз, человек 3 выбрал бы «ВЫКЛ», лицо «выключено», и, наконец, человек 5 автоматически выберет «ВЫКЛ» из выпадающего списка. См. SpreadSheet
Надеюсь, это имеет смысл!
Спасибо за любую помощь, которую вы можете дать!
Дани
EDIT:
Так что я взял формулу, представленную, и я написал несколько очень простой VBA в любом случае (как это более академического проекта), так что, когда дата в выпадающем списке изменения меняют время. Я удалил выпадающие списки, которые использовались для изменения времени. Еще раз спасибо за вашу помощь @ user3598756
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("C4") Then
Application.EnableEvents = False
ActiveSheet.Range("C6").FormulaLocal = "=INDEX($G$4:$K$35,MATCH($C$4,$F$4:$F$35,0),MATCH(Left($B6,Len($B6)),$G$2:$K$2,0))"
ActiveSheet.Range("C7").FormulaLocal = "=INDEX($G$4:$K$35,MATCH($C$4,$F$4:$F$35,0),MATCH(LEFT($B7,LEN($B7)),$G$2:$K$2,0))"
ActiveSheet.Range("C8").FormulaLocal = "=INDEX($G$4:$K$35,MATCH($C$4,$F$4:$F$35,0),MATCH(LEFT($B8,LEN($B8)),$G$2:$K$2,0))"
ActiveSheet.Range("C9").FormulaLocal = "=INDEX($G$4:$K$35,MATCH($C$4,$F$4:$F$35,0),MATCH(LEFT($B9,LEN($B9)),$G$2:$K$2,0))"
ActiveSheet.Range("C10").FormulaLocal = "=INDEX($G$4:$K$35,MATCH ($C$4,$F$4:$F$35,0),MATCH(LEFT($B10,LEN($B10)),$G$2:$K$2,0))"
Application.EnableEvents = True
End If
End Sub
Благодарим за отзыв! Извините, мой вопрос был настолько запутанным! –
добро пожаловать. вы можете затем отметить ответ как принятый. Спасибо! – user3598756