В событии ComboBox1_Change
попробуйте вычислить лист, чтобы убедиться, что значения в формулах обновлены до перезагрузки списка в ComboBox2
.
Sub ComboBox1_Change()
Sheet1.Range("A2").Value = ComboBox1.Value
Sheet1.Calculate 'update formula values
ComboBox2.List = Sheet1.Range("B5:B7").Value 'reload the values into the list
End Sub
Как указано в этом другом ответе , вы не можете установить высоту родителя согласно элементу с абсолютным позиционированием, если не используете фиксированную высоту или JavaScript.
В JavaScript вам просто нужно получить высоту вашего дочернего элемента с абсолютным позиционированием .scheduleWorkingPeriodContainer
, а затем установить это значение в качестве высоты для вашего relative positioned
родительского элемента .user-data
.
Проверьте и запустите следующий фрагмент кода для практического примера того, что я описал выше. В следующем фрагменте я изменил высоту родительского элемента, чтобы он был на 5px
больше, чем его absolute positioned
дочерний элемент, чтобы вы могли видеть дополнительную высоту родительского элемента:
/* CSS */
.user-data {
position: relative;
float: left;
box-sizing: border-box;
min-height: 40px;
align-items: center;
text-align: center;
border-left: 1px solid #d0d0d0;
border-bottom: 1px solid #d0d0d0;
background-color: green;
width: 100%;
}
.scheduleWorkingPeriodContainer {
position: absolute;
z-index: 1;
display: block;
width: 100%;
overflow-x: hidden;
height: auto;
background-color: red;
}
html, body {width: 100%;height: 100%; margin: 0; padding: 0;}
<!-- HTML -->
<div class="user-data">
<div class="scheduleWorkingPeriodContainer"><p>ABCD</p><p>ABCD</p><p>ABCD</p><p>ABCD</p>
</div>
</div>