Excel 获取VBA的值
显然,我试图从excel的b列中获取值,并在单独的表格中显示每个值。从表格5开始。然而,下面的代码似乎是从索引13开始的,而不是指定的索引10。在我的表5上显示值113,表6显示值114…我如何解决这个问题Excel 获取VBA的值,excel,vba,excel-2007,Excel,Vba,Excel 2007,显然,我试图从excel的b列中获取值,并在单独的表格中显示每个值。从表格5开始。然而,下面的代码似乎是从索引13开始的,而不是指定的索引10。在我的表5上显示值113,表6显示值114…我如何解决这个问题 Sub InvoiceForm() Dim wks As Worksheet Dim i As Long Dim ws As Worksheet Set ws = ActiveSheet Dim buffer As Long buffer =
Sub InvoiceForm()
Dim wks As Worksheet
Dim i As Long
Dim ws As Worksheet
Set ws = ActiveSheet
Dim buffer As Long
buffer = ws.Range("B29").Value 'Getting the number of rows exist for column b'
Dim a As Long
a = 10
For Each wks In ThisWorkbook.Worksheets
For i = 5 To (i + buffer - 1)
If (a <= buffer + a - 1 And wks.CodeName = "Sheet" & i) Then
With wks
.Range("J2") = ws.Range("B" & a).Value
End With
a = a + 1
End If
Next i
Next wks
End Sub
子发票表单()
将工作作为工作表
我想我会坚持多久
将ws设置为工作表
设置ws=ActiveSheet
将缓冲区设置为长缓冲区
buffer=ws.Range(“B29”)。值“获取b列存在的行数”
暗淡如长
a=10
用于此工作簿中的每个工作。工作表
对于i=5到(i+缓冲区-1)
如果i=5到(i+buffer-1)的(a计算结果为5到4,并且根本不执行。要进行调试,您必须了解值的值;添加此值,它将输出到即时窗口:debug.Print“i=”&i
调试您的条件:Debug.Print buffer+a-1
还请注意,您的a
正在递增a=a+1
,因此每个工作表将获得一个不同的单元格ws.Range(“C”和a).Value
您说“从b列获取值”,但您的代码(.Range(“J2”)=ws.Range”(/a).Value
)从C列获取它们