vba - VBA - 使用其他表中的特定数据自动填充表
问题描述
我有两张表,一张包含我项目的所有信息,另一张显示主表中过期或即将过期的行。
我正在尝试做的是每次打开工作表时使用主表中的所有过期变量更新过期表。
我面临的问题是,当使用 For 循环时,它会在将下一个值添加到 Expired 表之前添加许多空单元格。
过期表代码:
Private Sub warning_list()
Dim wsExp As Worksheet: Set wsExp = Worksheets("EXPIRED_LIST")
Dim wsList As Worksheet: Set wsList = Worksheets("LIST")
Dim digsafe As String
Dim exp_date As Date
Dim time_left As Long
Dim i As Integer
Dim warning_val As String: warning_val = "OK"
Dim warning_tbl As ListObject: Set warning_tbl = wsExp.ListObjects("Table3")
Dim warning_or As ListRow
Dim list_tbl As ListObject: Set list_tbl = wsList.ListObjects("Table1")
Dim list_or As ListRow
Set warning_or = warning_tbl.ListRows.Add
For i = 1 To wsList.ListObjects("Table1").DataBodyRange.Rows.Count
If wsList.ListObjects("Table1").DataBodyRange.Cells(i, 24).Value = warning_val Then
digsafe = list_tbl.DataBodyRange.Cells(i, 1).Value
exp_date = list_tbl.DataBodyRange.Cells(i, 2).Value
warning_or.Range(1, 1).Value = digsafe
warning_or.Range(1, 2).Value = exp_date
End If
Next i
End Sub
编辑:我还有以下代码可以自动运行宏。
'Action whenever sheet is opened
Private Sub Worksheet_Activate()
Call warning_list
End Sub
解决方案
推荐阅读
- java - 我不能让我的 OnClick 方法在 RecyclerView 中工作
- sql - 将 SQL 标量函数结果与 SQL 中的列进行比较
- angular - 如何以角度翻译 app.routing.module.ts 中的单词
- php - 尝试将变量从 DatabaseSeeder 传递到 Laravel 8 中的工厂;有新语法吗?
- postgresql - Oracle11g 和 Postgres 9.2.4 中的 checksum_agg 和校验和
- linux - 在 Ubuntu 18.04 上安装 pythonnet - nuget.exe 的问题
- php - 如何使用 laravel eloquent 优化大数据插入
- node.js - 如何解决 React 中的 ESLint 显示在树的较高位置检测到?
- c++ - 使用 C++ 将中缀转换为后缀
- javascript - 基于随机数组值的条件赋值