gpt4 book ai didi

VBA 在不更改格式的情况下将数据粘贴到单元格上

转载 作者:行者123 更新时间:2023-12-04 21:33:00 25 4
gpt4 key购买 nike

我有一个启用宏的 protected 工作簿,其中只允许用户编辑所有工作表上的某些字段或行(150 到 200)。

担心的是我无法在可编辑字段上设置格式,因此当用户在字段上复制任何内容时,它会采用源格式并且会使工作表困惑。

我尝试使用以下内容,但这没有帮助。请建议。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Target.PasteSpecial xlPasteValues
Application.CutCopyMode = True
End Sub

最佳答案

试一试:

Option Explicit 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Target.Row >= 150 And Target.Row <= 200 Then

Dim vNewValues as Variant
NewValues = Target

Application.EnableEvents = False
Application.Undo

Target = NewValues

Application.EnableEvents = true

End If

End Sub

它的工作原理是将新值(复制或输入到单元格中的值)存储到数组中,然后执行撤消操作,这将删除操作(以及任何不需要的格式),然后仅将值(来自存储的数组)放入范围。
If条件可能需要根据您的实际要求进行调整。

关于VBA 在不更改格式的情况下将数据粘贴到单元格上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46712267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com