Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于特定单元的循环_Excel_Vba_Loops - Fatal编程技术网

Excel 基于特定单元的循环

Excel 基于特定单元的循环,excel,vba,loops,Excel,Vba,Loops,您好,我有一个宏,它循环遍历G列中的单元格,先将每个单元格设置为TRUE,然后再向下遍历该列 这是我想要实现的改变。单元格F11到F21有1到4。如果单元格F1、F3和F5有1,那么我希望列G1、G3和G5中的相邻单元格必须为真。然后移动到包含2、3和4的单元格 Sub CF_Macro() ' ' CF_Macro Macro ' Sub SpitValues() Dim wsInput As Worksheet Set wsInput = Worksheets("Repline Input

您好,我有一个宏,它循环遍历G列中的单元格,先将每个单元格设置为TRUE,然后再向下遍历该列

这是我想要实现的改变。单元格F11到F21有1到4。如果单元格F1、F3和F5有1,那么我希望列G1、G3和G5中的相邻单元格必须为真。然后移动到包含2、3和4的单元格

Sub CF_Macro()
'
' CF_Macro Macro
'
Sub SpitValues()

Dim wsInput As Worksheet
Set wsInput = Worksheets("Repline Input")

Dim wsSummary As Worksheet
Set wsSummary = Worksheets("Summary")

With wsInput

    .Range("G11").Resize(10, 1).Value = "FALSE"

    Dim rCell As Range
    For Each rCell In .Range("G11").Resize(10, 1)

        rCell.Value = "TRUE"

        DoEvents
        'Application.Wait (Now + TimeValue("0:00:05"))
        wsSummary.Range("b13:b16").Copy
        wsSummary.Range("z1").Select
        Selection.End(xlToLeft).Offset(ColumnOffset:=1).PasteSpecial xlPasteValues
        rCell.Value = "FALSE"

    Next

End With

1   TRUE
2   FALSE
3   FALSE
4   FALSE
1   TRUE
2   FALSE
3   FALSE
4   FALSE
1   TRUE
2   FALSE

很明显,你没有提供所有的东西,因为这堵文字墙毫无意义。请修改包含所有信息/代码的帖子。目标是当前宏仅在G列循环,并在转到下一个单元格之前先将每个单元格设置为TRUE,然后设置为FALSE。我想要的是循环查看F列中的所有“1”,只将G列中的单元格转换为“真”,然后对F列中的所有“2”执行相同的操作。但是在查看“2”之前,将现有的“真”转换为“假”为什么不在那些真/假单元格中设置公式,将左边的列与某个特定单元格进行比较?例如,
G11
可能是
=F11=F$10
(并将其复制到
G12:G20
)?然后您所要做的就是将单元格
F10
设置为
1
,然后设置为
2
,然后设置为
3
,然后设置为
4
。因为在后台会进行多个计算。例如,任何标记为1的单元格都是运输公司,因此当您将所有三个单元格都设置为TRUE时,3个选项卡将在后台运行计算。2=铁路,因此当2=真时,所有铁路选项卡都在运行计算,而所有其他选项卡都处于关闭状态。又名TRUE=运行计算,FALSE=不运行计算
范围(“G11”)。调整大小(10,1)
是引用
范围(“G11:G20”)
的一种不必要的模糊方式。除了模糊之外,它效率低下,因为它对范围对象调用方法,而不是直接构造结果。无论如何,即使在你编辑之后,我发现这个问题仍然不清楚。例如,您所说的“然后移动到包含2、3和4的单元格”是什么意思?所有包含这些数字的单元格?给定范围内的细胞?你搬到这样的牢房后会做什么?