level 9
首先我的目的是想要将2013/01/01的格式变成'2013-01这种的。数据包括了2011年到2013年,从1-12月份的,从1-31日。因此在操作上可能就会稍显繁杂,因此我就想编个宏,可是我只是初学者,在设置月份这个变量的时候就已经有错误了。想要请教下应该怎么添加变量进去。希望有高手能帮手告知。
以下是我写出来的程序,
Public Sub gengxin()
Dim n As Range
For Each n In Range("R2:v51800")
If n.Value = "2012/1/1" Then
n = "'2012-01"
End If
Next n
End Sub
这个宏是能够简单的更新的,但是和手动操作无异,因此还需大侠帮手!
2013年05月29日 11点05分
1
level 9
本来设想是添加三个参数,分别代替年 月 日 ,然后用DO until 语句进行一个循环。
大概就是以下如此:
Public Sub gengxin()
Dim n As Range,a as byte ,b as byte, c as byte
a=2011,b=01,c=0
with Do until a>2015
b>12
c>31
For Each n In Range("R2:v51800")
If n.Value = "a/b/c" Then
n = "'a-b"
a=a+1,b=b+1,c=c+1
loop
End If
Next n
End sub
但是就各种出错,希望能有高手能指出我的错误,十分感谢!!!!!
2013年05月29日 11点05分
2
吧务
level 15
Range("R2:v51800") 这个区域每个单元格都有日期值?
2013年05月29日 12点05分
3
也有空白值的。
2013年05月29日 15点05分
吧务
level 15
Public Sub gengxin()
arr = Range("R2:v51800").Value
For Each x In arr
x = Format(x, "'yyyy-mm")
Next
Range("r2:v51800").Value = arr
End Sub
2013年05月29日 12点05分
4
吧主,用这个宏好像还是实现不了那个功能啊。
2013年05月30日 02点05分
level 1
Public Sub gengxin()
Dim arr
arr = Range("R2:v51800").Value
i = UBound(arr, 1)
j = UBound(arr, 2)
For m = 1 To i
For n = 1 To j
arr(m, n) = Format(arr(m, n), "'yyyy-mm")
Next
Next
Range("R2:v51800").Value = arr
End Sub
2022年08月24日 03点08分
5
level 7
Sub tt()
Dim rng As Range, r As Range
Set rng = Range("R2:v51800")
For Each r In rng
r = Format(CDate(r), "yyyy-mm")
Next
End Sub
2022年08月25日 12点08分
6