首页 > 解决方案 > 如何在范围内的单个单元格中输入值并继续遍历范围内的每个单元格

问题描述

我有一个空白范围 A6:A24。我想将值 1 粘贴到每个单元格中,并将 H9 中的结果计算复制到新工作表中。之后我想移动到下一个单元格粘贴“1”,但删除前一个“1”并粘贴结果值。

我可以将 1 粘贴到每个盒子或只是顶部。

A6:A24 是年份。我正在尝试计算每年何时等于 1(100%),这意味着所有其他年份都需要等于零。

Private Sub CommandButton1_Click()

Dim inputRange1 As Range
Dim inputRange2 As Range
Dim c As Range
Dim i As Long
Dim b As Range
Dim j As Long

Set dvCell2 = Worksheets("Sheet1").Range("A6:A24")

Set inputRange2 = Worksheets("Sheet1").Range("D1")

Set dvCell1 = Worksheets("Sheet2").Range("C1")

Set inputRange1 = Worksheets("Sheet1").Range("B6:B24")

i = 1
j = 1

Application.ScreenUpdating = False
For Each b In inputRange2
    dvCell2.Value = b.Value
    For Each c In inputRange1
        dvCell1.Value = c.Value
        Worksheets("Sheet4").Cells(i + 2, j + 3).Value = Worksheets("Sheet3").Range("H9").Value
        i = i + 1
    Next c
    j = j + 1   
    i = 1
Next b
Application.ScreenUpdating = True

End Sub

标签: excelvbaloops

解决方案


不确定我是否跟随。这将遍历每个单元格dvcell2并在其中放入一个 1,然后复制 H9 的值。我不确定你是否正在尝试做其他事情。

Private Sub CommandButton1_Click()

Dim inputRange1 As Range
Dim inputRange2 As Range
Dim c As Range
Dim i As Long
Dim b As Range
Dim j As Long

Set dvcell2 = Worksheets("Sheet1").Range("A6:A24")
Set inputRange2 = Worksheets("Sheet1").Range("D1")
Set dvCell1 = Worksheets("Sheet2").Range("C1")
Set inputRange1 = Worksheets("Sheet1").Range("B6:B24")

i = 1
j = 1

Application.ScreenUpdating = False

For Each b In dvcell2
    dvcell2.value=0
    b.Value = 1
    Worksheets("Sheet4").Cells(i + 2, j + 3).Value = Worksheets("Sheet3").Range("H9").Value
    j = j + 1
Next b

Application.ScreenUpdating = True

End Sub

推荐阅读