Excel VBA 数据分析

去年离职后,好长一段时间没碰程序了。最近一位高中同学找到我,让我帮她做一些Excel文档的数据分析,只好硬着头皮答应下来。因为寒假的关系,很多学生来补课,我陆陆续续写了好几天,重拾代码的心情难以言语。


需求很简单,就是要将下图中左图的数据,转变成右图中的数据:

144253_7JLK_25688.png          144254_iGMI_25688.png


解决思路也不复杂:

  1. 先横向遍历汽车,为每辆汽车建立一个Sheet,填入汽车型号

  2. 再纵向遍历汽车零件,如果有零件,则在新Sheet里面填入零件名称和零件数量


VBA代码:

Sub car()

    ' 删除多余的sheet
    Application.DisplayAlerts = False
 
    Dim ws As Worksheet
    
    For Each ws In Worksheets
        If ws.Name <> "总" Then ws.Delete
    Next
 
    Application.DisplayAlerts = True
    
    ' 每辆车创建一个sheet
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim s As String

    For i = 2 To Worksheets("总").UsedRange.Columns.Count
        s = Worksheets("总").Cells(1, i)
        Worksheets.Add().Name = s
        Worksheets(s).Cells(1, 2) = s
        k = 2
        For j = 2 To Worksheets("总").UsedRange.Rows.Count
            If Worksheets("总").Cells(j, i) > 0 Then
                Worksheets(s).Cells(k, 2) = Worksheets("总").Cells(j, i)
                Worksheets(s).Cells(k, 1) = Worksheets("总").Cells(j, 1)
                k = k + 1
            End If
        Next
    Next
    
End Sub


VBA语法可以在开源中国中搜索"VBA" 或 查看文章:Excel中的常用VBA语言


后话:

半年的修养后,身体终于恢复了,最近重拾计算机后,发现心态已有所改变,环境的确是一个很奇妙的东西,无论如何改变自己,永远都无法代替环境。

重拾计算机后,每天又开始坚持看些文章,王垠的《程序员的心理疾病》这片文章让我反思自己的过去,发现很多自己的不完善,今后得以此为借。

修养这段时间内,发现了一些身体里面的秘密,饮食,睡眠,心态,这些都是非常重要的,身体年龄和实际年龄是有差距的,自从看了 Ray Kurzweil 的《奇点临近》,《如何活得长久》后,也开始了养身的行动。在后续的博客中会提到相关内容。



转载于:https://my.oschina.net/cenqingbo/blog/199589

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值