Excel全屏模式无法写入单元格

时间:2017-01-26 11:08:14

标签: excel vba excel-vba fullscreen

我在全屏模式下遇到excel问题。当我选择另一张纸(通过宏)并返回上一张纸(通过宏)时,我无法向单元格选择单元格写入内容。有什么建议吗?

我的全屏代码:

    Private Sub Workbook_Open()
Application.DisplayFullScreen = True
Application.CommandBars("Full Screen").Visible = False
End Sub

我选择表的宏代码:

Private Sub skok()
Sheets("Sheet 2").Select
End Sub

3 个答案:

答案 0 :(得分:1)

我可以证明这个问题也发生在我的工作簿上了!

为了提高可见性,我在同一个子目录中使用DisplayFullscreen = True使工作簿全屏显示。

稍后,用户可以在命令按钮中使用宏移动到Sheets 2。在表2上有一个“Save& Return”按钮,它运行一个像

这样的宏
Sheets("Sheet1").select

但是当我们返回Sheet1时,细胞似乎会冻结。但是命令按钮仍然有效。当我在工作表标签上随机选择下面的另一张纸时,情况可以“解锁”。然后返回Sheet1然后我可以进入单元格!

有一件奇怪的事情是,虽然表格似乎冻结,但我仍然可以复制和放大使用Ctrl + C&amp ;;在单元格中粘贴文本键盘上的Ctrl + V.

答案 1 :(得分:1)

我遇到同样的问题,这是一个Excel错误!我们仍然可以在单元格中复制/粘贴值,通过VBA代码写入单元格,但是我们不能通过双击单元格(或F2)来编辑单元格的值。细胞版被冻结了! (这就像取消选中“允许直接在单元格中编辑”选项一样(选项 - >高级选项 - >(扇区)“编辑选项”。)

要创建错误: 在全屏模式下单击ActiveX控件(Application.DisplayFullScreen = True) ...而且现在你已经无法编辑单元格了!

只要公式栏在屏幕上看不到(全屏或不显示),并且只要显示公式栏,就会停止(只要您不重新创建错误......)错误就会停留(留在fullScreen并执行“Application.DisplayFormulaBar = True”将无法正常工作)

如果您激活另一个工作表,该错误将“暂时”停止(使用隐藏的公式栏),但如果您单击任何工作表中的任何其他ActiveX控件(无论是否为fullScreen),它将再次启动...

答案 2 :(得分:0)

答案是形式上的一个很好的教训。尽量避免使用.SelectWorkbooks("myBook.xlsx").Sheets("Sheet1").Range("A1").Value = "whatever" 。如果您始终指定范围,则可以使用多个工作簿来避免此类情况。使用格式:

with Workbooks("myBook.xlsx").Sheets("Sheet1")
    .Range("A1").Value = "A"
    .Range("A2").Value = 2
    .Range("A3").Value = "Blah"
End With

或:

import re

import dateutil.parser

REPORT = \
"""Dear Customer,

(Call Transferred) Start Time & Date: 00:05 Monday 6th February 2017
Completion Time & Date: 06:00 Monday 6th February 2017

Details of Work:"""


def parse_report(data):
    dates = []

    for pattern in ['(?<=Start Time & Date: ).*', '(?<=Completion Time & Date: ).*']:
        date = dateutil.parser.parse(re.search(pattern, data).group(0))
        dates.append(date)

    return dates


if __name__ == '__main__':
    start, completion = parse_report(REPORT)
    print('Started: {}, Completed: {}'.format(start, completion))