我在全屏模式下遇到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
答案 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)
答案是形式上的一个很好的教训。尽量避免使用.Select
和Workbooks("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))