永发信息网

如何用VBA在新的行里自动写入带日期格式的编号

答案:2  悬赏:0  手机版
解决时间 2021-03-30 13:34
如何用VBA在新的行里自动写入带日期格式的编号
最佳答案
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range, i%, k%, y$, m$, d$
i = [e65536].End(3).Row
Set rng = Cells(i, 5)
    If rng <> "" And rng.Offset(, -2) = "" Then
        k = Application.CountIf([E:E], rng)
        y = Format(Year(rng), 0)
        m = Format(Month(rng), "00")
        d = Format(Day(rng), "00")
        If k = 1 Then
            Cells(i, 3) = y & m & d & "01"
        Else
            Cells(i, 3) = y & m & d & Format(k, "00")
        End If
    End If
End Sub
 
追问很感谢您的回答,我想请教一下,我要把年只显示为150903,不要20,代码需要怎么修改一下,然后我后续其他单元格里也想用这种代码,比如L例=F*J+K,这种情况下又需要添加什么代码?追答第一个问题
将原代码中的y值改为:
y=right(year(rng),2)第二个问题
在最后一行之前插入以下代码:
cells(i,12)=cells(i,6)*cells(i,10)+cells(i,11)追问第一个问题解决,第二个问题,我是需要求合计,要在(i,13)输入数据后,14列自动计算,而且当数据有改变时,计算结果自动更新,这样的公式有好几个,以后数据也会越来越多,我感觉公式会拖慢运行速度,请问是用VBA会快些还是直接用公式。追答如果是要更新数据,用函数和用VBA是一样的,至少在速度上是。
建议还是用函数进行自动重算。
如果用代码,也得整列走一遍进行重算。
全部回答
用触发宏可以完成
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
埠蚌到泰安坐火车有几个站点
5. The person we spoke to ______ no answer
主板上的4个内存插槽可以插满么?
骑士勇士总决赛完了么
一架JPT-5型托盘天平,全部砝码为10g一只,20
新手开车常见问题之下长坡怎样操作
GHz是什么意思啊!
蓝宝石蓝加ral淡蓝色是什么颜色
伴娘服一般选什么颜色
我在工作时向来比较认真,前天副经理过来骂我
现在离2018年过年还差多少天
到长沙学咖啡怎么样?
这一盆海鲜多少钱啊
赤壁金宫灯怎么得
湖北是哪些名人的故乡?
推荐资讯
若4x-3=1,则x=________.
大学体验英语听说教程2答案
睡觉时腿为什么会突然登一下?
横看成岭侧成峰的岭和峰是什么意思
存货增长说明什么
高中数学极坐标
“山不在高,有梅则名”是什么意思
六下口算第三十二页答案
宁波银泰城有欧文吗
你认识中航联创的人吗?想去了解下,非常感兴
大家好,我刚做钣金设计,好多都不太懂,麻烦
劳力士和帝舵什么关系
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?