我在工作表模块中使用下面的代码段获得了意外的结果。
它正确地做了"标签5"和"数量"但是"描述"放在单元格B22
中,而不是debug.print
我在每个阶段的行号上做了A21
并且它们正在递增。 L22
是合并的单元格。如果重要的话,ActiveCell.Offset(lineNumber, 0).Select
也在工作表的打印区域之外。
如果我取消注释A22
,则会选择Qty
的正确单元格,然后将Description
和A23
放入单元格B23
和Sub test()
On Error Resume Next
Dim lineNumber As Integer
lineNumber = 0
Worksheets(1).range("A21").Select
ActiveCell.Offset(lineNumber, 0).value = "Label 5" 'A21
lineNumber = lineNumber + 1
ActiveCell.Offset(lineNumber, 0).value = "Qty" 'A22
ActiveCell.Offset(lineNumber, 1).value = "Description" 'B22 -- Prints to L22
lineNumber = lineNumber + 1
End Sub
在正确的列但错误的行。
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="row">
<div class="col-sm-4">
<div class="navbar-header">
<img src="../images/Image1.png" width="280" height="80" alt="">
</div>
</div>
<div class="col-sm-4" style="text-align: center">
<form class="navbar-form navbar" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="Suche" name="suche">
<div class="input-group-btn">
<button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
</div>
<div class="col-sm-4">
<ul class="nav navbar-nav navbar-right">
<img src="../images/Image2.jpg" width="330" height="80" alt="">
</ul>
</div>
</div>
</div>
</nav>
答案 0 :(得分:2)
这就是您不应该使用Active*
,Select
和Offset
的原因。分别使用硬对象引用{null}和Cells
或Range
。你正在写一个固定的布局,所以只需硬编码:
Sub test()
With Worksheets(1)
.Range("A21").Value = "Label 5" `On merged ranges, just use the top left cell.
.Range("A22").Value = "Qty"
.Range("B22").Value = "Description"
End With
End Sub
如果您需要重复使用它,可以为合并的“标题”单元格所在的位置传递一个行参数:
Private Sub WriteHeaders(targetSheet As Worksheet, titleRow As Long, heading As String)
With targetSheet
.Cells(titleRow, 1).Value = heading
.Cells(titleRow + 1, 1).Value = "Qty"
.Cells(titleRow + 1, 2).Value = "Description"
End With
End Sub
然后你可以这样称呼它:
WriteHeaders Worksheets(1), 21, "Label 5"