Excel 数组公式更改键盘布局

Excel array formula changes keyboard layout

要在 Excel 中输入数组公式,请使用 Ctrl+Shift+Enter 要切换键盘布局,可以使用 Ctrl+Shift

因此,每次输入数组公式时,我的键盘布局都会发生变化。

有没有比每次手动切换回来更优雅的解决方案?

一个解决方案是更改开关布局快捷方式,但我在 Windows 10 中找不到它(我在 Win7 中可以)。这个设置在哪里?

一种替代方法是创建一个宏以将任何公式转换为数组公式,并指定您自己的快捷方式(例如 ctrl+m)。

Sub convert_to_array()

Dim formarr As Range
Dim oldrange As Range

Set oldrange = Selection

    For Each formarr In oldrange
        formarr.FormulaArray = formarr.Formula
    Next formarr

End Sub

然后只需编写普通公式,select 所有你想要的,然后按 ctrl+m(或你分配的任何快捷方式)。

问题是因为长期以来(Windows 10 之前)更改 Windows 键盘布局的默认键是 Ctrl +移位。每次将这两个键同时按下时,Windows 会在您已安装的任何布局之间切换。考虑到使用这些键的快捷方式的数量,如果你问我,这是一个非常愚蠢的键设置,但无论如何......

要在 Windows 10 中更正此问题,您需要转至控制面板 >> 时钟、语言和区域 >> 语言 >> 高级设置,然后在此屏幕中单击 更改语言栏热键 link。这将打开一个 window 标记为 文本服务和输入语言 。 Select 在热键框中 Between input languages 选项,然后单击 Change Key Sequence 按钮。它不是很可定制,但您至少可以将输入语言和键盘布局热键都更改为未分配。这将防止您的 Excel 宏出现问题。

如果您需要热键来回切换,您也可以在这里设置它们,尽管没有像您刚刚关闭的那样的切换选项。在这里你必须为 Dvorak 选择 Ctrl+Shift+1 Ctrl+Shift+2 对于 QWERTY。确保在关闭 window 之前最后设置非 QWERTY 热键,因为如果那不是最后一个,Windows 有撤消热键的倾向(不知道为什么,就是那样做的)自 Windows XP 以来我拥有的每台计算机上都对我而言)。