Excel数据验证实战:下拉列表、提示和警告弹出窗口
创作时间:
作者:
@小白创作中心
Excel数据验证实战:下拉列表、提示和警告弹出窗口
引用
1
来源
1.
https://learn.microsoft.com/zh-cn/office/dev/scripts/resources/samples/data-validation-samples
在Excel中,数据验证功能可以帮助用户确保工作表中数据的一致性和准确性。本文将通过三个具体场景,介绍如何使用数据验证功能:创建下拉列表、添加提示注释以及设置输入错误时的警告。
使用数据验证创建下拉列表
以下示例为单元格创建下拉列表。它使用所选区域的现有值作为列表的选项。
function main(workbook: ExcelScript.Workbook) {
// 获取数据验证所需的值
const selectedRange = workbook.getSelectedRange();
const rangeValues = selectedRange.getValues();
// 将值转换为逗号分隔的字符串
let dataValidationListString = "";
rangeValues.forEach((rangeValueRow) => {
rangeValueRow.forEach((value) => {
dataValidationListString += value + ",";
});
});
// 清除旧的范围
selectedRange.clear(ExcelScript.ClearApplyTo.contents);
// 将数据验证应用于所选范围的第一个单元格
const targetCell = selectedRange.getCell(0,0);
const dataValidation = targetCell.getDataValidation();
// 设置下拉列表的内容
dataValidation.setRule({
list: {
inCellDropDown: true,
source: dataValidationListString
}
});
}
向区域添加提示
此示例创建一个提示注释,当用户输入给定单元格时显示该注释。这用于提醒用户有关输入要求的信息,而无需严格执行。
/**
* 该脚本在C2:C8单元格区域创建一个文本提示,当用户进入单元格时显示该提示。
*/
function main(workbook: ExcelScript.Workbook) {
// 获取当前工作表中的C2:C8范围的数据验证对象
const selectedSheet = workbook.getActiveWorksheet();
const dataValidation = selectedSheet.getRange("C2:C8").getDataValidation();
// 清除任何之前的验证以避免冲突
dataValidation.clear();
// 创建一个提示,提醒用户只能在此列中输入名字
const prompt: ExcelScript.DataValidationPrompt = {
showPrompt: true,
title: "First names only",
message: "Only enter the first name of the employee, not the full name."
}
dataValidation.setPrompt(prompt);
}
输入无效数据时向用户发出警报
以下示例脚本阻止用户将除正数以外的任何内容输入到某个范围中。如果他们尝试放置任何其他内容,将弹出错误消息并指示问题。
/**
* 该脚本为B2:B5范围创建数据验证规则。
* 该范围内的所有值必须是正数。
* 尝试输入其他值将被阻止,并显示错误消息。
*/
function main(workbook: ExcelScript.Workbook) {
// 获取活动工作表中的B2:B5范围
const currentSheet = workbook.getActiveWorksheet();
const positiveNumberOnlyCells = currentSheet.getRange("B2:B5");
// 创建一个仅允许正数的数据验证规则
const positiveNumberValidation: ExcelScript.BasicDataValidation = {
formula1: "0",
operator: ExcelScript.DataValidationOperator.greaterThan
};
const positiveNumberOnlyRule: ExcelScript.DataValidationRule = {
wholeNumber: positiveNumberValidation
};
// 在范围内设置规则
const rangeDataValidation = positiveNumberOnlyCells.getDataValidation();
rangeDataValidation.setRule(positiveNumberOnlyRule);
// 创建一个警报,当输入非正数数据时显示
const positiveNumberOnlyAlert: ExcelScript.DataValidationErrorAlert = {
message: "Positive numbers only.",
showAlert: true,
style: ExcelScript.DataValidationAlertStyle.stop,
title: "Invalid data"
};
rangeDataValidation.setErrorAlert(positiveNumberOnlyAlert);
}
本文原文来自Microsoft官方文档
热门推荐
象棋的起源与发展
冬天头发掉得厉害,探究背后的原因与应对策略
MP3解码芯片在音频压缩与解压缩算法中的应用探索
如何高效备考C语言二级考试?
探索量子世界:人工智能技术在量子计算与量子纠错中的应用
眼睛酸痛怎么缓解
互联网公司裁员现象调查:探寻背后原因与应对策略
什么是IM软件?IM聊天软件的定义和功能
脚部健康护理的秘诀
2025年科技行业职业版图:哪些工作在兴起,哪些在消失?
近五年高智商悬疑剧推荐,逻辑严密引人入胜,你追过几部?
油脂润滑剂深度指南
如何正确安装和使用游戏mod提升你的游戏体验
网球的策略与战术
如何进行合理的家居清洁用品选择和使用?这种选择和使用的要点是什么?
Omega-3或鱼油有益于心脏健康吗?最新研究揭示真相
全国航空航天工程专业大学排名一览表
戒掉毒瘾的方法
镜观崤函|尧山之旅:感受“华山之险,峨眉之峻”的绝美风光
《难哄》出圈理由:何炅的演技,章若楠的脸蛋,白敬亭的衣品
内蒙古十大历史名人排行榜
如何认识期货ic的交易规则?这些规则对投资者有哪些要求?
用科技守护“出生健康”
医商保加速对接 撬动商业健康险万亿市场
钻石的形成与鉴定:科学视角下的宝石学研究
面部发红痒痒、反复过敏,可能是在提醒做这一件事情,该清除螨了
手动Or电动晾衣架,谁才是阳台最晾的崽?
经济适用房的优缺点及影响
沉默在沟通中的作用是什么?
绿皮火车旅游, 如何享受怀旧之旅?