excel VBA 当有公式的单元格录入内容后,自动将内容粘贴为数值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel VBA 当有公式的单元格录入内容后,自动将内容粘贴为数值相关的知识,希望对你有一定的参考价值。
A列使用了公式,当G列录入内同后,A列会自动生成内容如图2。我想通过VBA实现,当A列自动录入内容后,能够将公式生成的结果,自动转换为“值”(这个步骤可以通过录制一个“粘贴为值”的宏实现),需要加一个,A列由空值变为非空的判断,并且在转换为值前,弹出一个窗体,让我选择是否将A列内容转换为值,选是继续,选否则退出程序。另外,比如我这次是在G87 G88录入内容,则A87 A88会自动生成数据,此时只允许A87 A88自动转换成值,其他A列其他单元格则不允许进行此操作
请大家帮帮忙这个要怎么做?
图1
图2
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Copy
Target.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub追问
试了下,这个代码没有任何作用……
追答保证正确使用了吗?
粘贴位置在worksheet事件栏。
是的,我截个图给你看下
A列仍是公式结果,只是G列是copy状态,其他没有任何改变
将以下代码,粘贴到该表的代码窗格中(注意!!!)
Private Sub Worksheet_Change(ByVal Target As Range)application.EnableEvents=False
if target.column=7 then
if target.row >5 then
if target.count=1 then
if target.value<>"" then
cells(target.row,1)=cells(target.row,1).value
end if
end if
end if
end if
application.EnableEvents=true
End Sub追问
谢谢,刚才弄错了,不过可以加一个提示让我选择是否粘贴为值的功能吗?这个没有提示,就直接转换为值了
追答Private Sub Worksheet_Change(ByVal Target As Range)application.EnableEvents=False
if target.column=7 then
if target.row >5 then
if target.count=1 then
if target.value<>"" then
if msgbox("是否将公式转换为值?",vbyesno,"转换确认")=6 then
cells(target.row,1)=cells(target.row,1).value
end if
end if
end if
end if
end if
application.EnableEvents=true
End Sub本回答被提问者采纳
excel如何合并单元格数据
参考技术A 在excel日常使用中,难免会遇到要合并单元格,但表格当中有着内容该如何合并这些数据呢?下面就跟我一起看看吧。excel合并单元格数据的 方法 一:&符号
进行单元格字段之间的合并
在展示的单元格内输入公式:=A2&"跑步"&B2&"公里",用&进行不同单元格内容之间的连接。
按回车(Enter键),则可以返回所需要合并,如图所示这只是一个案例,当有很多行数据需要合并时,先输入一行,返回结果后,直接下拉复制公式或者双击即可。
excel合并单元格数据的方法二:&符号和text()函数
在展示的单元格内输入公式:=A3&"跑了总长度的"&TEXT(B3,"0%"),用&和text()进行不同单元格内容之间的连接。text()函数能够定义字段类型,如果没有text()函数,显示出来的是0.1而不是10%。
按回车(Enter键),则可以返回所需要合并,多行数据时,先输入一行,返回结果后,直接下拉复制公式或者双击即可。
excel合并单元格数据的方法三:CONCATENATE()函数
在展示的单元格内输入公式:=CONCATENATE(A2,"跑步",B2,"公里"),CONCATENATE()里面可添加多个文本,这些文本可以是字符串、数字。自己添加的字段要用“”引用起来。
按回车(Enter键),则可以返回所需要合并,多行数据时,先输入一行,返回结果后,直接下拉复制公式或者双击即可。
excel合并单元格数据的相关 文章 :
1. excel不能合并单元格怎么办
2. 如何将Excel多个单元格的内容合并到一个单元格
3. excel 单元格以及数据一同合并函数的教程
4. 怎么把Excel单元格中多行文字合并为一行
以上是关于excel VBA 当有公式的单元格录入内容后,自动将内容粘贴为数值的主要内容,如果未能解决你的问题,请参考以下文章