有没有一种方法可以根据相邻的像元值将像元值添加到运行总计中?

时间:2019-06-25 20:43:33

标签: excel vba

我正在创建一个工作簿来替代不再适用于我们的公司步骤挑战。目标是尽可能实时地跟踪步骤(用户将从Cell E2的下拉列表中选择其名称,并将其步骤输入到Cell F2中)。下拉列表基于使用数据验证的A列,B列是其运行步骤总数。我想在G列中放置一个控制按钮,该按钮接受用户输入的步骤数,并在B列中将该用户添加到当前步骤中。

到目前为止,我的Data Validation运行正常,没有问题,我在A列中有模拟用户,在B列中有他们的步骤。我认为编码背后的逻辑将是需要选择单元格E2中的值并找到该值代码的值为true后,向右移动1个单元格,将单元格F2中的值添加到该当前选定的单元格值,然后从单元格F2中删除值。

我尝试从range.find开始,但我的印象是错误的,因为我不断收到错误。然后,我着手解决已经发布的问题,以找到遇到类似问题的人,但花了一个小时才试图创建最终无法使用的拼凑代码。

任何无法找到自己的论坛或帖子的建议或链接将不胜感激。我将继续搜索,但是作为一个新手,我发现的某些项目远远超出了我的技能/理解水平。

编辑:

因此,我已根据评论更改了方法。现在,我有了一个分布在J2:S2列上的名称列表(随着人们注册,该列表将会增加)。我现在试图做的是编写代码,该代码将基于单元格值E2在该列中找到该人的名字,然后将他们输入到单元格F2中的步骤粘贴到该列的下一个空白行。我再次尝试编写代码,但是有一些我无法弄清楚的错误(请参阅下文)。然后,我将基于列在A:C列左侧的数据进行数据透视。

使用以下代码,我没有收到任何错误,除了清除内容之外,什么也没有发生。很抱歉,在回复评论之前的时间,我想尝试自己进行此操作,然后再进行编辑。我认为发生了某些事情,我没有更清楚地指定单元格值,或者我误用了rng.value作为粘贴的方式,而不仅仅是检查值。

我对VBA肯定是个新手,所以我正在学习规则。

Sub Attempt_3()
Dim rng As Range

Set rng = sheets("Sheet1").Range("J2:S2").End(xlDown)
For Each Row In rng
    If rng.Value = "E2" Then
        rng.Value = rng.Offset(1, 0).Value = "F2"
    End If
Next Row

Range("F2").Select
Selection.ClearContents

End Sub

0 个答案:

没有答案