【问题标题】:Return the value in the first non-empty cell in the column directly to the left and going upward返回列中第一个非空单元格中的值直接向左并向上
【发布时间】:2020-06-24 10:28:28
【问题描述】:

我是 VBA 的新手,并且大部分时间都在尝试在录制宏后修改代码,所以这一切都很基本,而且这种方法可能不像我在这里看到的一些东西那么优雅。所以我们开始吧。

我已(通过蛮力)将我的数据编码为像 CAD 设计树视图一样排列父产品/组件和组成子组件/零件。

E 列包含 0 级顶部组件部件号 F 列包含 1 级项目部件号 ...等一直到... M 列包含 8 级项目部件号

例如,单元格 G112 包含 ASSY1;单元格 H113 到 H134 包含其组成项。

我想在新列(即 O 列)中显示每个成分的单元格 G112 (ASSY1) 的值。所以 O113 到 O134 将显示 G112 的值。这需要应用于程序集的每个级别。

我不确定我是否说得通,请看下面链接的图片,它说了一千个单词。我已经在 O 列中突出显示并用颜色编码了我想要的结果。

附录 - 澄清事情: 我不知道如何解释我的请求,只能发布我原始图片的简化版本。 SIMPLIFIED EXCEL TABLE

.CSV 在此处可用WeTransfer

【问题讨论】:

  • 不太清楚您的图片与您的问题相关...要返回的值确实存在于“G:G”列或“H:H”列中?从这个角度来看,您制作图片的方式完全无关紧要。哪个是计数开始和停止的触发器? “F111”中的值?如果是,如果“F134”中不存在任何内容,为什么要将伪公式设为绿色背景?绿色背景是什么意思?
  • 感谢您的回复,我会尽力澄清。
  • 请参考我在原帖底部的附录。我试图简化表格并澄清我的要求。谢谢。

标签: excel vba treeview parent


【解决方案1】:

为确定的操作检索 VBA 代码的一个非常有用的工具是宏记录器,在功能区,开发人员 -> RecordMacro,执行您的操作并停止录制,然后您可以检查为您记录的操作生成的代码。它不是最干净的代码,但您可以在那里找到您想要的特定操作的代码行。一旦您尝试的代码遇到了一个具体问题,您就可以就更具体的问题寻求帮助,而不是期望有人会为您编写代码。

无论如何,如果您希望有人尝试解决您的问题,您需要发布带有可访问数据而不是图像的表格,以便尝试解决您问题的人获得可用数据。

希望有帮助

【讨论】:

  • 感谢您的回复。正如我在最初的帖子中提到的,记录工具是我用来达到这一点的工具。
  • 但是,除非我错了,否则我看不到一种方法来记录我在这里尝试实现的目标。但正如其他人所评论的那样,我认为是一个明确的解释实际上可能并不那么清楚,所以我会尝试澄清一下。是否可以共享整个 excel 文件?
  • 如何张贴一张桌子?
  • 您可以将数据导出为 csv 格式并将一些示例信息粘贴为 .csv 中的纯文本,或与我们共享文件wetransfer.com
【解决方案2】:

如果有人感兴趣,这是我从其他地方得到的答案:

细胞 O3 中的公式:

=IF(C3=0,"N/A , ALREADY TOP LEVEL",INDEX(D$2:D2,AGGREGATE(14,6,(ROW(D$2:D2)-ROW(D$2)+1) /(C$2:C2=C3-1),1)))

在O列的每个单元格中复制/粘贴

【讨论】:

    猜你喜欢
    • 2019-12-07
    • 2017-01-14
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 2017-09-02
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多