【问题标题】:Shape hyperlink to the next empty cell in column in Excel形状超链接到 Excel 中列中的下一个空单元格
【发布时间】:2015-01-23 16:34:10
【问题描述】:

我正在尝试通过单击哪个用户可以进入 B 列中的下一个空单元格来输入日期,从而在 Excel 中创建一个按钮(类型)。

我在许多电子表格上都看到过此功能,但由于某种原因我无法重新创建它。 我见过的那些电子表格都没有使用宏,我也不想在我的电子表格中使用宏。

我知道如何创建一个简单的超链接公式,但我不知道如何在具有与公式相同功能的形状上创建超链接。

欢迎任何帮助或建议。

提前致谢

【问题讨论】:

  • 有什么理由不使用宏?因为使用宏非常容易,无论是按钮还是形状。
  • 我知道它是,但我宁愿完全不使用它
  • 你提前知道下一个空单元格吗?它会改变位置吗?
  • 单元格始终在同一列中,假设我在 B 列中有日期,因此当用户必须输入新内容时,他/她只需单击按钮即可进入下一个空白该列中的单元格

标签: excel excel-formula


【解决方案1】:

按顺序执行这些步骤,您会做对的
或者只是下载下面的表格以节省时间。
这里就是所有内容:
实际上,您需要找到第一个空单元格的行号:
使用这个公式,=MATCH(TRUE;INDEX(B1:B13="";0);0) 我把它放在我的 K2
TRICK 然后首先在 名称管理器 中创建一个名称(比如 GoToEmptyCell),以引用任何其他除了 K2 之外的空单元格,例如我指向 J2
然后,您创建您的形状并分配一个超链接(见下图),点击 放置在此文档中,然后在您看到姓名GoToEmptyCell)的列表中,选择它,然后按确定。
现在返回到 name manager 并修改此 name 的引用并将此公式放在那里(在 refers to box ) 而不是 J2

=INDIRECT("B"&hyperlink!$K$2)


所以现在 trick 完成了。单击形状,它会转到空单元格。好吧,如果它不起作用,请告诉我。 这是示例表in this file downloadable from this link

P.S.请按照操作顺序。请记住通过替换“;”将公式调整为您的区域设置用 "," 。玩得开心。

【讨论】:

  • @AHC 下面的部分不是很清楚,请你扩展一下。
  • 你指的是哪一部分? @AlexB
  • 然后,您创建您的形状并分配一个超链接,单击此文档中的位置,然后在您看到您的名字的列表中向下 (GoToEmptyCell),选择它,然后按 OK。
  • 我已经创建了形状,但是我需要将什么作为超链接分配给我创建的命名范围?
  • 对不起,我在这里犯了一个巨大的错误
【解决方案2】:

选择一个要用作“按钮”的单元格并输入以下公式:

=HYPERLINK("#B" & MATCH(TRUE,INDEX(ISBLANK(B:B),0,0),0),"First Empty")

点击它会带你到列B

中的第一个空单元格

编辑#1:

要对 Shape 执行此操作, 将以下宏分配给该 Shape

Sub FirstEmpty()
    For Each r In Range("B:B")
        If r.Value = "" Then
            r.Select
            Exit Sub
        End If
    Next r
End Sub

编辑#2

有可能:

  • 创建一个公式,为 B 列中的第一个空字段提供 地址
  • 使用该公式创建一个定义的名称
  • 根据定义的名称为形状分配一个超链接

【讨论】:

  • 谢谢,但这不是我在问题中提到的我需要的,我知道如何使用公式来做到这一点,但我需要在形状而不是按钮上具有相同的效果。
  • @AlexB 查看我的 EDIT#1
  • 好的,谢谢,但我尽量避免使用宏
  • 也许另一张海报会对我们有所帮助。
  • 我希望如此,我在几个不使用宏的电子表格中看到了它,当我检查形状上的超链接时,它指向按钮所在的同一张表和地址它总是 A1,但不知何故它指向 B 列中的下一个空单元格,总是
【解决方案3】:

我开始工作的更简单的版本:

首先,确保您要链接到的工作表的名称中没有空格。不过,下划线和破折号也可以。

这是用于列"A" 中的数据,但它可以是任何列(或理论上的行)。

=HYPERLINK(CONCATENATE("#Historical_Data!$A",SUM(COUNTA(Historical_Data!$A$1:$A$365)-14)),"Link to the xxxxxxx")

细分: [=HYPERLINK(CONCATENATE(] - 设置一种使用 Concatenate 动态指定链接地址的方法。

["#Historical_Data!$A",] - 需要“#”作为第一个字符,以标识链接在同一个工作簿中。 "Historical_Data" 是我链接到的选项卡/工作表的名称。 "!$A" 是我希望链接带我到的列 ID。

[SUM(COUNTA(Historical_Data!$A$1:$A$366)-14)),] - 动态指定将添加到上述链接地址末尾的Row#。我在这个特定实例中使用了"SUM(COUTNA()-#" 组合,以便在单击链接时显示最后 14 行数据。您可以使用"+1" 而不是"-14" 将光标放在第一个空白单元格上。 "Historical_Data!$A$1:$A$366" 的数据范围对我来说已经足够了,因为我的表永远不会有超过 365 天的数据;与$A:$A 作为范围同样有效。

["Link to the xxxxxxx")]- 将显示在超链接单元格中的文本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多