ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2385|回复: 15

[求助] 从表一中提取冒号后的内容,填入表二中的相应单元格

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-3-8 13:15 | 显示全部楼层 |阅读模式
求助各位大神,需要从表一中提取冒号后的内容,填入表二的对应单元格中,不知道是否能VBA实现自动写入,因为表一的数据会非常多,附件中只是一小部分数据,谢谢!!!

数据整理提取数据填写到新表简化.rar

8.51 KB, 下载次数: 24

TA的精华主题

TA的得分主题

发表于 2021-3-8 13:36 | 显示全部楼层
Sub 按钮1_Click()
    arr = Sheets(1).UsedRange
    With Sheets(2)
        r = .Cells(Rows.Count, 1).End(3).Row
        For j = 1 To UBound(arr) Step 10
            If Len(arr(j, 2)) > 0 Then
                r = r + 1
                .Cells(r, 1) = arr(j, 2)
                .Cells(r, 2) = Split(arr(j, 3), ":")(1)
                .Cells(r, 3) = Split(arr(j, 4), ":")(1)
                For i = 1 To 9
                    .Cells(r, 3 + i) = Split(arr(j + i, 4) & arr(j + i, 5), ":")(1)
                Next i
            End If
        Next j
    End With
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-3-8 13:37 | 显示全部楼层
供参考。。。。。。

数据整理提取数据填写到新表简化.zip

16.59 KB, 下载次数: 18

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-3-8 13:40 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-3-8 13:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
liulang0808 发表于 2021-3-8 13:37
供参考。。。。。。

哇噢,好厉害,我试试能不能应用到我到大表谢谢!!!

TA的精华主题

TA的得分主题

发表于 2021-3-8 14:21 | 显示全部楼层
'上帖附件答案,等我做起,但要255的权限查看

Option Explicit

Sub 太耗电了() '改一处为 立本的商务核心
  Dim ar, i As Long, j As Long, k As Long, Ran As Range, Cel As Range, r As Long, s As String
  ar = Sheet2.Range("A1").CurrentRegion.Resize(10, 49)
  ReDim br(1 To 8000, 1 To UBound(ar, 2))
  For j = 2 To UBound(ar, 2)
    For i = 2 To UBound(ar)
      If Len(ar(i, j)) = 0 Then ar(i, j) = ar(i - 1, j)
    Next
  Next
  For j = 2 To UBound(ar, 2)
    ar(10, j) = Replace(ar(10, j), "~", "~~")
  Next
  With Sheet1
    For i = 1 To .Range("B1000").End(xlUp).Row
      s = .Cells(i, 2).Value
      If Len(s) Then
        k = k + 1
        br(k, 1) = s
        r = .Cells(i, 2).MergeArea.Rows.Count
        Set Ran = .Rows(i).Resize(r)
        For j = 2 To UBound(ar, 2)
          Set Cel = Ran.Find(ar(10, j) & "*", , , , 2, 1 - (ar(10, j) = "地点"))
          If Not Cel Is Nothing Then
            If ar(10, j) = "客户跟进情况状态/情况" Then
              br(k, j) = Cel.Offset(, 1).Value '此处与模拟不完全同,自己看
            Else
              s = Replace(Cel.Value, ar(10, j), "")
              If InStr(s, ":") Then br(k, j) = Split(s, ":")(1) Else br(k, j) = s
            End If
          End If
          Set Cel = Nothing
        Next
        Set Ran = Nothing
      End If
    Next
  End With
  Sheet2.Range("a16").Resize(k, UBound(br, 2)) = br
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-3-8 14:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
上帖附件要255的权限太不厚道了.rar (29.37 KB, 下载次数: 18)

做了就发一下

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-3-8 14:36 | 显示全部楼层

大神,因为那个贴说的不清楚,我本来想删除的,但是删不掉,感谢,厉害啦!!!

TA的精华主题

TA的得分主题

发表于 2021-3-8 14:41 | 显示全部楼层
pingpinggao 发表于 2021-3-8 14:36
大神,因为那个贴说的不清楚,我本来想删除的,但是删不掉,感谢,厉害啦!!!

若我答的靠谱,那就说明你说清楚了……

TA的精华主题

TA的得分主题

发表于 2021-3-8 14:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Sub AwTest()
    Dim i&, r&, j%, c%, n%, xm$, arr
    arr = Sheet1.[a1].CurrentRegion
    ReDim brr(1 To UBound(arr), 1 To 20)
    For i = 1 To UBound(arr)
        If Len(arr(i, 2)) Then xm = arr(i, 2): r = r + 1: c = 1: brr(r, c) = xm
        For j = 3 To UBound(arr, 2)
            If InStr(arr(i, j), ":") Then
                c = c + 1: n = IIf(n > c, n, c)
                brr(r, c) = Split(arr(i, j), ":")(1)
            End If
        Next
    Next
    Sheet2.Activate
    [2:5000].ClearContents
    [a2].Resize(r, c) = brr
End Sub

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-26 13:51 , Processed in 0.045350 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表