码迷,mamicode.com
首页 > 编程语言 > 详细

20170621xlVBA跨表转换数据

时间:2017-07-07 00:53:50      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:ksh   adr   const   fse   content   pre   跨表   class   net   

Sub 跨表转置()
    Dim Wb As Workbook
    Dim Sht As Worksheet
    Dim oSht As Worksheet
    Dim Rng As Range
    Dim Index As Long

    Const HeadRow As Long = 12
    Set Wb = Application.ThisWorkbook
    Set Sht = Wb.Worksheets("模板")
    Set oSht = Wb.Worksheets("数据表")

    With Sht
        .UsedRange.Offset(HeadRow).ClearContents
    End With

    With oSht
        endrow = .Cells(.Cells.Rows.Count, 1).End(xlUp).Row
        Set Rng = .Range("A3:O" & endrow)
        Index = HeadRow
        With Rng
            For i = 1 To .Rows.Count
                Index = Index + 1
                Sht.Cells(Index, "C").Value = .Cells(i, "A").Text    ‘姓名
                Sht.Cells(Index, "D").Value = "‘" & .Cells(i, "B").Text    ‘手机
                Sht.Cells(Index, "E").Value = "‘" & Replace(.Cells(i, "C").Text, "-", "/")    ‘生日
                Sht.Cells(Index, "F").Value = "‘" & .Cells(i, "D").Text    ‘证件号
                Sht.Cells(Index, "G").Value = Split(.Cells(i, "E").Text, " ")(0)    ‘证件类型
                Sht.Cells(Index, "H").Value = Split(.Cells(i, "F").Text, " ")(0)    ‘性别
                Sht.Cells(Index, "I").Value = Split(.Cells(i, "G").Text, " ")(0) & "型"   ‘血型
                Sht.Cells(Index, "J").Value = Split(.Cells(i, "H").Text, " ")(0)    ‘国际

                x = UBound(Split(.Cells(i, "H").Text, " "))
                If x >= 1 Then Sht.Cells(Index, "K").Value = Split(.Cells(i, "H").Text, " ")(1)
                If x >= 2 Then Sht.Cells(Index, "L").Value = Split(.Cells(i, "H").Text, " ")(2)
                If x = 3 Then Sht.Cells(Index, "M").Value = Split(.Cells(i, "H").Text, " ")(3)

                Sht.Cells(Index, "N").Value = Split(.Cells(i, "I").Text, " ")(0)    ‘项目
                Sht.Cells(Index, "O").Value = .Cells(i, "K").Text    ‘尺寸
                Sht.Cells(Index, "P").Value = .Cells(i, "L").Text    ‘地址
                Sht.Cells(Index, "Q").Value = .Cells(i, "M").Text    ‘邮箱

                Sht.Cells(Index, "S").Value = .Cells(i, "N").Text    ‘紧急联系人
                Sht.Cells(Index, "T").Value = .Cells(i, "O").Text    ‘电话
                ‘  Sht.Cells(Index, "U").Value = "http://live.yongdongli.net/page/photo.php?n=" & .Cells(i, "A").Text
                addres = "http://live.yongdongli.net/page/photo.php?n=" & .Cells(i, "A").Text
                Sht.Hyperlinks.Add Anchor:=Sht.Cells(Index, "U"), Address:=addres, TextToDisplay:=addres

            Next i
        End With

    End With



    Set Wb = Nothing
    Set Sht = Nothing
    Set oSht = Nothing


End Sub

  

20170621xlVBA跨表转换数据

标签:ksh   adr   const   fse   content   pre   跨表   class   net   

原文地址:http://www.cnblogs.com/nextseven/p/7129136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!