超链接到具有相同名称/值的单元格范围 - Google 表格

Posted

技术标签:

【中文标题】超链接到具有相同名称/值的单元格范围 - Google 表格【英文标题】:Hyperlink to range of cells with same name/value - Google Sheets 【发布时间】:2022-01-16 22:53:16 【问题描述】:

我有一个带有 DASHBOARD + 多个 (300+) 工作表的电子表格(在同一个电子表格中)。在仪表板中,我有一个包含所有工作表名称的范围列。

我想自动将所有单元格超链接到具有相应名称的工作表。

Example:

【问题讨论】:

不清楚为什么要在仪表板中插入超链接。这是XY problem吗? 对不起,我在那儿有点模糊。我想插入超链接以轻松跳转到相应的工作表。这些工作表被不同的资源使用 - 因此通过链接,他们不必滚动整个工作表列表即可找到正确的工作表。 你会发现名字框好用多了。 不,点击一次更容易 【参考方案1】:

试试这个:

function convertToLinks() 
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = ss.getSheetByName("DASHBOARD");
  var range = sh.getRange("A11:A15");
  var data = range.getValues();
  var formulaArr = [];
  data.forEach(sheet => 
    var targetSheet = ss.getSheetByName(sheet[0]);
    if(targetSheet)
      var url = ss.getUrl() + '#gid=' + targetSheet.getSheetId(); 
      formulaArr.push(['=HYPERLINK("'+ url +'","'+ sheet[0] +'")'])
    else
      formulaArr.push([sheet[0]]);
    
  )
  range.setValues(formulaArr);

上面的这个脚本会将单元格 A11:A15 转换为相应工作表的超链接。

示例:

之前:

之后:

参考资料:

Range.setValues() Sheet.getSheetId() Spreadsheet.getSheetByName()

【讨论】:

非常感谢!这就是我所追求的,一旦新的 DASHBOARD 准备就绪,我将尝试实施它(由于其他一些问题,不得不对最后一个 DASHBOARD 进行核对)。我会更新你,并在我尝试后立即接受这个作为解决方案。【参考方案2】:

您不需要超链接即可快速跳转到另一张工作表。而是使用名称框。它位于 ƒ? 符号左侧的公式栏中。

单击名称框并键入工作表名称的一部分以快速找到该工作表,然后按 Enter 转到工作表。

【讨论】:

感谢您的回复!这是朝着我想要的方向迈出的一步。我想将单元格链接到相应的工作表 - 以便使用电子表格的资源可以查看仪表板以查看需要注意的“工作”(A、B、C ...),并轻松单击到正确的工作(表) 这是一个不同的问题。请仅询问one question per post。发布有关您的报告问题的不同问题。 帖子里只有一个问题,现在解决了。无论如何,感谢您的回复。【参考方案3】:

试试这个脚本,但也添加搜索你需要去的单元格(这可以通过 C 列中的公式来完成)或根据更多信息进行过滤...

function onEdit(event)
  var sh = event.source.getActiveSheet();
  var cel = event.source.getActiveRange();
  if (sh.getName()=='DASHBOARD' && cel.getColumn()==2 && cel.getRow()>1 && cel.getValue())
    try 
      cel.setValue(!cel.getValue())
      // add the right destination in the targeted sheet ...
      SpreadsheetApp.getActiveSpreadsheet().getSheetByName(cel.offset(0,-1).getValue()).activate()
    
    catch(err)

    
  

【讨论】:

以上是关于超链接到具有相同名称/值的单元格范围 - Google 表格的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL VBA - 根据单元格范围和字符串创建动态下拉列表[关闭]

VBA excel Target.Address =单元格范围

将图表从单元格范围更改为命名范围

使用 google 电子表格 API 仅删除单元格范围选择的格式

将单元格内的任何单词与单元格范围内的任何单词匹配

VBA:如何搜索单元格范围的值,并返回该位置旁边的单元格?