- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为学习练习和 future 代码中的可能用途,我创建了我的第一个 Excel VBA 函数来返回任何 Excel 表格(而不是工作表本身)中的 activecell 行号。本质上,它只是在工作表中找到事件行,然后找到表格标题的行号,然后从单元格行号中减去该行号以返回表格的行号,然后可以在后续代码中使用该行号。但是,虽然它有效,但它看起来并不是最有效的 任何人都可以改进它吗?
Sub TableRow()
Dim LORow As Integer
Dim TbleCell As Range
Set TbleCell = Activecell
Call FuncTableRow(TbleCell, LORow)
MsgBox LORow
End Sub
Public Function FuncTableRow(ByRef TbleCell As Range, LORow As Integer) As Range
Dim LOName As String
Dim LOHeaderRow, Row As Integer
LOName = Activecell.ListObject.Name
Row = Activecell.Row
LOHeaderRow = ActiveSheet.ListObjects(LOName).HeaderRowRange.Row
LORow = Row - LOHeaderRow
Debug.Print (LORow)
End Function
最佳答案
这个问题可能会因为不够具体而被关闭,但最明显的项目(对我而言)是您对自定义函数的使用。您的函数实际上并没有返回任何内容,它只是运行调试打印。要让您的函数实际返回行号,您可以将其设置为类型 Long
( not integer ) 并包含函数名 =
到号码。
我实际上并没有测试您的功能,但假设 LORow 正在重复打印正确的答案,那么它应该像这样工作:
Public Function FuncTableRow(ByRef TbleCell As Range, LORow As Integer) As Long
Dim LOName As String
Dim LOHeaderRow, Row As Integer
LOName = Activecell.ListObject.Name
Row = Activecell.Row
LOHeaderRow = ActiveSheet.ListObjects(LOName).HeaderRowRange.Row
LORow = Row - LOHeaderRow
Debug.Print (LORow)
FuncTableRow = LORow
End Function
Call
一个函数,您可以将其作为自身插入子例程中。 LORow
作为输入变量,然后更改它。这通常是一种不好的做法。 ActiveSheet
从 TbleCell.Worksheet
获取工作表Dim LOHeaderRow, Row As Integer
实际上应该是 Dim LOHeaderRow as Long, Row As Long
.正如您目前拥有的 LOHeaderRow
未定义/变体。 关于excel - 查找 Activecell 表行的 VBA 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69810515/
我正在编写一个 VBA 代码,该代码将在 Excel 中打开我的工作簿中的特定工作表,然后在 A 列中查找值为“TOTAL”的单元格。然后必须将其设置为 ActiveCell,以便我的宏的其余部分可以
您好,我创建了以下代码来格式化 Excel 电子表格中的总计行。我的问题是我想从总计中选择动态单元格,因为我并不总是有 15 列。我尝试使用 ActiveCell,但它没有用。谁能帮我更改此代码以满足
我有一个 MonthView 和 DTPicker 的用户窗体,当单击某些单元格时会填充它们。我将表单定位在第一个单元格的正下方,但希望它填充在我告诉它激活的每个事件单元格的正下方。我当前用于定位用户
如何使用 VBA 将名为“Total”的文本插入选定的单元格 我用过 Activecell.Name="Total" Selection.Name="Total" 但是这两个都不行,有没有其他办法呢?
我是vba新手,正在学习。我正在努力理解为什么这在 Excel 2016 中失败,并且我的研究一片空白。我有以下代码 Option Explicit Sub Range_End_Method() Di
我试图通过 Excel 2013 中的 VBA 确定 ActiveCell 是否不仅在任何表中,而是在特定表中。 下面是原样的代码,但仅检测任何表中的 ActiveCell。注释掉的行是我正在寻找的内
我正在阅读某人编写的上一个模块中的一些 VBA,并发现了一些让我困惑的内容: Sheets("Setup").Select Range("Start").Select ActiveCell.Offse
我编写了一个带有 if 语句的代码,如果满足某些条件,则可以将复选框添加到 ActiveSheet 中的某些单元格。我下面的代码显示了该代码。 'To add checkboxes Dim ToRow
我想要以下 VBA 代码: 如果事件单元格内部颜色更改为 colorindex 44,那么我希望单元格右侧的五列具有文本“完成”和今天的日期。 我已经尝试了以下方法,但仅当我将所选单元格向右移动时才有
我正在尝试将 ActiveCell 分配给一个变量以便稍后使用它。它给了我一个超时错误。 代码如下,但通常我还没有弄清楚如何动态为变量分配范围。 Sub findCells() Dim topCell
在 Excel 中使用 VBA: 我有很多工作表,其中有多个表。这些表唯一的共同点是 ProductID 列和 LotNumber 列。产品 ID 列中的数据需要进行验证和/或操作。我需要一种方法来获
对于这个问题,我引用下面的帖子来澄清自己: Why is my conditional format offset when added by VBA? 在我这些天看到的很多很多帖子中,OP 都被默默
作为学习练习和 future 代码中的可能用途,我创建了我的第一个 Excel VBA 函数来返回任何 Excel 表格(而不是工作表本身)中的 activecell 行号。本质上,它只是在工作表中找
嘿,我有代码将行移到另一个带有单元格名称的工作表,一个循环,直到它在数据末尾遇到一个空白,这里的代码摘录; Range("AF2").Select Do While ActiveCell.Value
摘要:我遍历多行数据,每次通过循环将来自不同列的数据存储在大约 6 个不同的变量中 问题:我会使用 Range("A" & some iterator) 节省大量的 CPU 周期吗?而不是 Activ
我有这段代码,我想在另一张工作表中查找一些单元格,如果它们符合条件,则将相邻单元格添加到返回到调用单元格函数的总数中。 Function collectUtfall(A1 As String, Ax
所以,我正在让自己成为 excel 中的游戏突袭追踪器。 该表通过不断激活的 VB 代码进行动态排序,除非我暂时停止代码。现在我需要一段代码,这样当我选择一个单元格并在键盘的小键盘上按 + 或 - 时
我需要从 Excel 中的列表构建登录文本。我自己尝试使用宏并编写一个小脚本。基本上我有 2 个单元格,一个挨着一个。第一个获取 ssh key 名称,第二个获取密码。这 2 值取决于机器的操作系统,
如何将 Excel 中事件单元格的地址存储到 Outlook 中的变量中? Outlook 正在操作工作簿,我想在操作后将事件单元格恢复到其原始位置。 Set xl = GetObject(, "Ex
我在理解某些 VBA 代码时遇到一些困难。我没问题 activecell.offset(1,1).select 但是,我有问题 activecell.offset(1,1).range("A1").s
我是一名优秀的程序员,十分优秀!