学习VBA 之一

来源:互联网 发布:cad绘图软件下载 编辑:程序博客网 时间:2024/05/22 03:31

 工作中经常要用到计算机与设备之间的串口通讯,一些通讯的数据都是存在一个txt文档里,有时需要在excel中打开txt并画出图表,就可以直观快速的得到信息。每次重复的劳动显然是不合理的,也正是显示VBA作用的时候,正好学习一下VBA了。

1.选择文件。对话框类似与OpenFileDIalog。

    Dim RlumpLog As String
    RlumpLog = Application.GetOpenFilename("txt Txt (*.txt), *.txt", 1)
    If RlumpLog = "False" Then Exit Sub

2.打开文件读取数据

    Dim fn As Integer, i As Integer
    Dim MyStr As String
    fn = FreeFile

   Open RlumpLog For Input As fn
        While Not EOF(fn)
            Line Input #fn, MyStr
                    fr = Split(MyStr, " ")

                    Cells(i, 1) = fr(0)
                    Cells(i, 2) = fr(1)

        i=i+1

        Wend

        close fn

Open方法打开文件,Line Input #fn, MyStr将一行数据读取出来,Split将一行数据分割,之后就可以填充表格位置了。填充的过程根据需要配合IF Then Else可以实现很多控制了。

另外Ubound()Lbound()分别是数组可用的最大下标和最小下标,也是很可能用的。

3.画图

Dim .....  '各种定义 

With Sheet1
                    Set myRange = .Range("A1:C15")
                    Set myChart = .ChartObjects.Add(LEFT, TOP, WIDTH, HEIGHT)
                   With myChart.Chart
                        .ChartType = xlXYScatterLines
                         .SetSourceData Source:=myRange, PlotBy:=xlColumns
                       '  .ApplyDataLabels ShowValue:=True
                        .HasTitle = True
                        .ChartTitle.Text = "This is a Title“
                     End With
             End With
                 Set myRange = Nothing
                    Set myChart = Nothing

主要是设置好ChartType就行了。


需要用到的各个函数基本就是这样了,具体实现要根据文本内与需要控制了。有了名字,各函数的详细用法很容易Google了。 


暂时笔记到此。