超链接到具有相同名称/值的单元格范围 - 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 =单元格范围