Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2987|回复: 3

[已解决]在同行,提取日期中的月份与另一参数合并后自动填入指定单元格内

[复制链接]
发表于 2017-1-20 12:52 | 显示全部楼层 |阅读模式
快要过年了,但有些工作还完成,请老师帮忙解决,谢谢!

使用VBA功能,当列P某单元格输入数据后,提取列O同行单元格内的月份并与列D同行单元格内参数合并后自动填充到列Q同行单元格内,
例如:单元格P3输入数据后提取单元格O3日期中的月份“2”与单元格D3“200333203”合并成“2200333203”后自动填入到Q3单元格内。
最佳答案
2017-1-20 14:10
在原来的事件上加了点内容。
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Target.Count > 1 Or Target.Column <> 16 Then Exit Sub
  3.     r = Target.Row
  4.     If Len(Target) = 0 Then
  5.        Cells(r, 15) = "": Cells(r, 17) = ""
  6.     Else
  7.        Cells(r, 15) = Format(Date, "yyyy-m-d")
  8.        Cells(r, 17) = Month(Date) & Cells(r, 4)
  9.     End If
  10. End Sub
复制代码
无标题.png

自动合并.rar

11.92 KB, 下载次数: 11

发表于 2017-1-20 13:13 | 显示全部楼层
附件不是用公式完成了吗,还要VBA干嘛。
公式也可以改为:Q2=MONTH(O2)&D2
回复

使用道具 举报

 楼主| 发表于 2017-1-20 14:00 | 显示全部楼层
grf1973 发表于 2017-1-20 13:13
附件不是用公式完成了吗,还要VBA干嘛。
公式也可以改为:Q2=MONTH(O2)&D2

因为到时数据量比较大,用公式运行会影响电脑运行速度。
回复

使用道具 举报

发表于 2017-1-20 14:10 | 显示全部楼层    本楼为最佳答案   
在原来的事件上加了点内容。
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Target.Count > 1 Or Target.Column <> 16 Then Exit Sub
  3.     r = Target.Row
  4.     If Len(Target) = 0 Then
  5.        Cells(r, 15) = "": Cells(r, 17) = ""
  6.     Else
  7.        Cells(r, 15) = Format(Date, "yyyy-m-d")
  8.        Cells(r, 17) = Month(Date) & Cells(r, 4)
  9.     End If
  10. End Sub
复制代码

自动合并.rar

12.99 KB, 下载次数: 11

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 00:49 , Processed in 0.267389 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表