我正在尝试创建一个可以根据单元格值加载某些数据的交互式工作表。例如,如果单元格“A1”变为“estructura”,则范围(C2:E4)将加载data3列表。下面的代码是一种好方法还是有更好的方法?
data1 = [[1, 2, 3], [4, 5, None], [6, 7, 8]]
data2 = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]
data3 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
static = Cell("A1").value
while True:
if static != Cell("A1").value:
if Cell("A1").value == "mamposteria":
CellRange("C2:E4").clear()
Cell("C2").table = data1
elif Cell("A1").value == "mortero":
CellRange("C2:E4").clear()
Cell("C2").table = data2
elif Cell("A1").value == "estructura":
CellRange("C2:E4").clear()
Cell("C2").table = data3
static = Cell("A1").value
答案 0 :(得分:1)
该代码有效。 (while循环没有正确缩进,但我认为这是一个错字。)
这是一个更高效的循环版本:
主要区别在于你每循环读取一次A1的值 - 这比每次比较读取它的速度要快。
while True:
new = Cell("A1").value
if static != new:
CellRange("C2:E4").clear()
Cell("C2").table = {"mamposteria": data1,
"moretero": data2,
"estructura": data3}[new]
static = new