使用以下代码,我正在循环一个数组,如果满足条件可以更改数组值。我在更改值的行上收到错误424。有什么想法吗?
#section-one .categories {
height: 80px;
background: rgba(0, 0, 0, 0.9);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
#section-one .categories li {
background: -webkit-gradient(linear, left top, right top, from(#0d0d0d), to(#202020));
background: linear-gradient(to right, #0d0d0d, #202020);
height: inherit;
width: 12.5%;
border-left: 1px solid black;
-webkit-transition: all ease-in .3s;
transition: all ease-in .3s;
}
#section-one .categories li:hover {
background: green;
}
#section-one .categories li a {
display: inline-block;
font-size: .95rem;
height: inherit;
width: 100%;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
#section-one .slideshow-container {
max-width: 1000px;
margin: auto;
position: relative;
}
#section-one .slideshow-container .mySlides {
display: none;
}
#section-one .slideshow-container .prev,
#section-one .slideshow-container .next {
top: 50%;
background: blue;
font-size: 18px;
border-radius: 0 3px 3px 0;
width: auto;
position: absolute;
padding: 16px;
}
#section-one .slideshow-container .next {
right: 0;
border-radius: 3px 0 0 3px;
}
#section-one .slideshow-container .prev:hover,
#section-one .slideshow-container .next:hover {
background-color: rgba(0, 0, 0, 0.8);
}
答案 0 :(得分:3)
一个数组项没有.Value
,它必须是arrAccSof(j, 3) = 0
。如果您将值读入
arrAccSof = .Range(.Cells(3, 1), .Cells(MaxRowAccSof, 4))
与使用
相同arrAccSof = .Range(.Cells(3, 1), .Cells(MaxRowAccSof, 4)).Value
,该数组仅表示范围的值,而不表示范围对象。
请注意,如果您更改数组中的值,除非您将数组值最后写回到单元格中,否则它们不会自动在单元格中更改:
.Range(.Cells(3, 1), .Cells(MaxRowAccSof, 4)).Value = arrAccSof
相比,如果这样做
Dim AccSof As Range
Set AccSof = .Range(.Cells(3, 1), .Cells(MaxRowAccSof, 4))
然后AccSof
是对实际范围对象的引用,该对象可以像范围本身一样使用:
AccSof(j, 3).Value = 0
这会立即更改单元格值。。
但是请注意,使用数组的第一种方法更快。我添加这个只是为了解释区别。