Vba 正在尝试从我选定单元格的右侧列中获取值(因为值是相关的)

Vba 正在尝试从我选定单元格的右侧列中获取值(因为值是相关的),vba,excel,range,Vba,Excel,Range,我试图在一个范围内遍历单元格(在另一个宏中也可以使用它),但现在我还需要它右边的值,以便在计算中使用该值,但它似乎没有按预期遍历。欢迎提供任何帮助或建议,我在编码方面非常新手 For Each cell In rng currentChimneyHeight = cell.Value currentChimneyDiameter = cell(cell.Row, cell.Column + 1).Value Worksheets("Stab-klasse").Range(

我试图在一个范围内遍历单元格(在另一个宏中也可以使用它),但现在我还需要它右边的值,以便在计算中使用该值,但它似乎没有按预期遍历。欢迎提供任何帮助或建议,我在编码方面非常新手

For Each cell In rng
    currentChimneyHeight = cell.Value
    currentChimneyDiameter = cell(cell.Row, cell.Column + 1).Value
    Worksheets("Stab-klasse").Range("C27") = currentChimneyDiameter
    Worksheets("Stab-klasse").Range("C26") = currentChimneyHeight
    Worksheets("Dosis en depositie").Range("B7:B28").Copy
    Worksheets("Variatie Schouw").Range(Cells(7, currentCollumn), Cells(28, currentCollumn)).PasteSpecial xlPasteValues
    Worksheets("Dosis en depositie").Range("E7:E28").Copy
    Worksheets("Variatie Schouw").Range(Cells(7, currentCollumn + 1), Cells(28, currentCollumn + 1)).PasteSpecial xlPasteValues
    Cells(6, currentCollumn) = currentChimneyHeight
    Cells(6, currentCollumn + 1) = currentChimneyDiameter
    currentCollumn = currentCollumn + 2
Next cell
这不会让你找到下一个单元格,而是一个离你的
单元格非常远的单元格。如果将
偏移
您的
单元格
(cell.Row,cell.Column+1)
。要仅获取下一个单元格,请使用以下选项,而不是上面的选项:

currentChimneyDiameter = cell.offset(0 ,1).Value2
'                            ^^^^^^^^^^^^^

感谢您的快速响应,我完全忘记了offset命令。现在使用该命令修复了此问题,但仍然使用.Value,因为它不打算累加值,而只是在不同的计算中同时使用这两个值。非常感谢@WouterSlechten
.value2
.value
完全相同,除非该值是日期或货币。选择
.Value2
从Excel提取到VBA只是一种良好的做法。
currentChimneyDiameter = cell.offset(0 ,1).Value2
'                            ^^^^^^^^^^^^^