20170621xlVBA跨表转换数据

Posted Excel VBA 小天地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20170621xlVBA跨表转换数据相关的知识,希望对你有一定的参考价值。

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跨表转换数据的主要内容,如果未能解决你的问题,请参考以下文章

20170621_oracle练习

mysql-学习-13-20170621-MySQL备份恢复-xtrabackup-3

matlab实现跨表自动对应标题填写数据

20170617xlVBA销售数据分类汇总

OLEDBCommand Builder 和跨表移动数据

20161208xlVBA工作表数据导入Access