接触excel多了之后,发现很多好的使用方法。
比如 自带的一些函数, vlookup 之类的。
后来发现,有些数据需要做特殊处理的,自带函数已经不能满足了,然后发现了Macros, 开始尝试去学习VBA 看代码,发现好难,因为带了好多的参数。
今天发现通过录制在修改easy很多 。
发一个处理response的函数:
把 http://fund.eastmoney.com/Data/FavorCenter_v3.aspx?o=r&rnd=1501031140851 这个的返回提取出来三列我需要的数据,一个是基金的名字,昨天的值和今天的估值。还挺好用的。
‘函数名
Sub TEST3()
'OtherChar _:="]"
'use ] to split string 用] 去切割response
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="]", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12 _
, 1), Array(13, 1), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), _
Array(19, 1)), TrailingMinusNumbers:=True
'Transpose:=True row to column ,把切割后的结果 行转换为列
Range("A1:Z1").Select
Selection.Copy
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
' split string using Comma:=True 在继续用逗号切割
Range("A2:A28").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, OtherChar _
:="]", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12 _
, 1), Array(13, 1), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), _
Array(19, 1), Array(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array( _
25, 1), Array(26, 1), Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), _
Array(32, 1)), TrailingMinusNumbers:=True
Range("D31").Select
'delete usless column and row 把没用的行和列删除 ,因为分段删除,第二次删除是在第一次删除的结果之上,所以标值会每次删除后都改变
Rows("28:28").Select
Selection.Delete Shift:=xlUp
Columns("A:B").Select
Selection.Delete Shift:=xlToLeft
Columns("B:V").Select
Selection.Delete Shift:=xlToLeft
Columns("C:C").Select
Selection.Delete Shift:=xlToLeft
Columns("E:H").Select
Selection.Delete Shift:=xlToLeft
' limit to decimal 0.00 保留两位小数
Columns("B:B").Select
Application.CutCopyMode = False
Selection.NumberFormatLocal = "0.00_ "
End Sub