1、代码所涉及到的单元格发生变动,能自动同步更新
2、代码显示【***】,如果【】内无内容,”【】“就不显示
3、单元格录入单个数字,设置后显示成2位数,如录入“1”,显示“02”,希望代码提取该数字也能显示成“01”
以上请各位大神帮忙看一下,能实现一个算一个,先谢谢了!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 25 And Target.Count = 1 Then
If Target.Value <> 0 Then
'AA=A.B.C GE X N【O】U【V】【W】
Target.Offset(, 2).Value = Target.Offset(, -24).Value & "." & Target.Offset(, -23).Value & "." & Target.Offset(, -22).Value _
& " " & Target.Offset(, -18).Value & Target.Offset(, -20).Value & " " & Target.Offset(, -1).Value & " " & Target.Offset(, -11).Value _
& "【" & Target.Offset(, -8).Value & Target.Offset(, -10).Value & "】 " & Target.Offset(, -4).Value & " 【" & Target.Offset(, -3).Value & "】 " & "【" & Target.Offset(, -2).Value & "】"
End If
End If
End Sub
AA=A.B.C GE X N【O】U【V】【W】
与
AA=A.B.C GE X N[O]U[V][W]
显示效果不同。
英文左中括号([)前面和英文右中括号(])后面不加空格不会显示下面效果:
18.02.06 王维1003 大 曹操 [曹操2] A1 [A2] [A3]
只会显示成:
18.02.06 王维1003 大 曹操[曹操2]A1[A2][A3]
你的这一代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 25 And Target.Count = 1 Then
If Target.Value <> 0 Then
'AA=A.B.C GE X N【O】U【V】【W】
Target.Offset(, 2).Value = Target.Offset(, -24).Value & "." & Target.Offset(, -23).Value & "." & Target.Offset(, -22).Value _
& " " & Target.Offset(, -18).Value & Target.Offset(, -20).Value & " " & Target.Offset(, -1).Value & " " & Target.Offset(, -11).Value _
& "【" & Target.Offset(, -8).Value & Target.Offset(, -10).Value & "】 " & Target.Offset(, -4).Value & " 【" & Target.Offset(, -3).Value & "】 " & "【" & Target.Offset(, -2).Value & "】"
End If
End If
End Sub
(1)向AA列中输入数据会触发工作表的Change事件,造成重复运行此代码
(2)换个思路,向AA列输入公式的方法,代码如下。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 25 And Target.Count = 1 And Target.Row > 1 Then
Range("AA" & Target.Row) = "=IF(RC[-2]=0,"""",CONCATENATE(TEXT(RC[-26]+ISODD(RC[-26]),""00""),""."",TEXT(RC[-25]+ISODD(RC[-25]),""00""),""."",TEXT(RC[-24]+ISODD(RC[-24]),""00""),"" "",RC[-20],RC[-22],"" "",RC[-3],"" "",RC[-13],IF(RC[-12]="""","""","" [""&RC[-12]&""] ""),RC[-6],"" "",IF(RC[-5]="""","""",""[""&RC[-5]&""] ""),IF(RC[-4]="""","""",""[""&RC[-4]&""]"")))"
End If
Application.EnableEvents = True
End Sub
上面粗体标注的代码不用担心写法,你录制宏——在AA2单元格输入公式:
=IF(Y2=0,"",CONCATENATE(
TEXT(A2+ISODD(A2),"00"),".",
TEXT(B2+ISODD(B2),"00"),".",
TEXT(C2+ISODD(C2),"00")," ",
G2,
E2," ",
X2," ",
N2,
IF(O2="",""," ["&O2&"] "),
U2," ",
IF(V2="","","["&V2&"] "),
IF(W2="","","["&W2&"]")))
然后停止录制宏就有了。
结果如下图所示:
一般加个IF来判断当前单元格量是否是指定的单元格,是就执行代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
[a2] = [a2] + 1
End If
End Sub
微软的OFFICE是最为流行的办公软件,主要有OFFICE2010和OFFICE2007两个版本。Office 2000是第三代办公处理软件的代表产品,可以作为办公和管理的平台,以提高使用者的工作效率和决策能力。Office 2000中文版有4种不同的版本:标准版、中小企业版、中文专业版和企业版。
在Office 2000中各个组件仍有着比较明确的分工:一般说来,Word主要用来进行文本的输入、编辑、排版、打印等工作;Excel主要用来进行有繁重计算任务的预算、财务、数据汇总等工作;PowerPoint主要用来制作演示文稿和幻灯片及投影片等;Access是一个桌面数据库系统及数据库应用程序;Outlook是一个桌面信息管理的应用程序;FrontPage主要用来制作和发布因特网的Web页面。
Microsoft Office XP是微软有史以来所发行的Office版本中最重要的版本,而且也被认为是迄今为止功能最强大、最易于使用的Office产品。新版Office放弃了以往以产品发布年命名的惯例!产品名称中的XP,是英文Experience(体验)的缩写,代表着新版Office在包容覆盖广泛设备的Web服务之后,将给用户带来丰富的、充分扩展的全新体验。
除核心的 Office XP 程序 — Microsoft Word、Excel、Outlook和 PowerPoint— 外,Office XP 专业版 中包含 Microsoft Access 2002,它是 Office XP 数据库解决方案,可帮助用户存储、访问和分析数据。
一周热门 更多>