ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 大神来帮帮忙,看看附件,有2个需求

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-26 00:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
气愤excel 发表于 2018-4-25 19:43
第一个问题的代码,第二个问题很难解决

大神,第一个有点问题,我是要把任意区域2个单元格内的内容合并到前一个的单元格内,即2222单元格内容到1111单元格内。麻烦帮忙修改下,谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-26 00:16 | 显示全部楼层
第一个可能是我没说太清楚,附件内的excel,C6与C7单元格的内容合并到B6与B7里,只是内容过去,不是合并单元格,希望大神给我个能自己选局域的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-26 09:49 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
大神们来帮帮忙

TA的精华主题

TA的得分主题

发表于 2018-4-26 10:10 | 显示全部楼层
skytutu1 发表于 2018-4-26 00:10
大神,第一个有点问题,我是要把任意区域2个单元格内的内容合并到前一个的单元格内,即2222单元格内容到1 ...
  1. Public Sub CharConnection()
  2. Dim arr, i%
  3. arr = Range("b6").CurrentRegion
  4. For i = 1 To UBound(arr)
  5.     For j = 2 To UBound(arr, 2)
  6.         If arr(i, j) <> "" Then
  7.             arr(i, 1) = CStr(arr(i, 1)) & CStr(arr(i, j))
  8.         End If
  9.     Next
  10. Next
  11. [b:b].ClearContents
  12. [b6].Resize(UBound(arr), 1) = arr
  13. End Sub
复制代码

代码没有问题,只是将G列换成B列就行了

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-26 10:56 | 显示全部楼层
气愤excel 发表于 2018-4-26 10:10
代码没有问题,只是将G列换成B列就行了

好的谢谢大神,么么么么么么么哒,第二个问题我自己手动录入。看来太复杂了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-27 11:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 skytutu1 于 2018-4-27 12:08 编辑
气愤excel 发表于 2018-4-26 10:10
代码没有问题,只是将G列换成B列就行了

大神,我今天用的时候,为什么他提示我运行时错误13,If arr(i, j) <> "" Then这段代码变黄了。。。
,不是错误值的原因,还是类型不匹配。

TA的精华主题

TA的得分主题

发表于 2018-4-27 12:01 | 显示全部楼层
没有什么难度,关键是你描述的太空,给个真实数据的附件,并实际描述一下要求的效果

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-27 12:12 | 显示全部楼层
lsdongjh 发表于 2018-4-27 12:01
没有什么难度,关键是你描述的太空,给个真实数据的附件,并实际描述一下要求的效果

帖子里就有的,是有位大神帮我解决了问题的,但是今天用代码的时候就出错了,If arr(i, j) <> "" Then这行代码出错了。

TA的精华主题

TA的得分主题

发表于 2018-4-27 13:10 | 显示全部楼层
  1. Option Explicit
  2. '问题1
  3. Sub Test1()
  4.     Dim Rg As Range, lngRow As Long
  5.     Dim arr As Variant
  6.     On Error Resume Next
  7.     Set Rg = Application.InputBox("请选择需要合并内容的单元格", Type:=8)
  8.     If Rg Is Nothing Then Err.Clear: Exit Sub
  9.    
  10.     If Rg.Column <> 2 Then Exit Sub
  11.    
  12.     arr = Rg
  13.    
  14.     For lngRow = LBound(arr) To UBound(arr)
  15.         arr(lngRow, 1) = arr(lngRow, 1) & arr(lngRow, 2)
  16.         arr(lngRow, 2) = ""
  17.     Next
  18.    
  19.     Rg = arr
  20. End Sub

  21. '问题2
  22. Sub Test()
  23.     Dim SH As Worksheet, Rg As Range
  24.     Dim strTemp As String
  25.     Dim lngLen As Long
  26.     Dim lngIndex As Long, lngColorIndex As Long
  27.     Dim strColor As String
  28.    
  29.     Set SH = Sheet1
  30.     Set Rg = SH.Range("B18")
  31.     strTemp = Rg.Value
  32.    
  33.     lngLen = Len(strTemp)
  34.    
  35.     For lngIndex = 1 To lngLen
  36.         lngColorIndex = Rg.Characters(lngIndex, 1).Font.ColorIndex
  37.         If lngColorIndex <> 1 And lngColorIndex <> -4105 Then
  38.             strColor = strColor & Mid(strTemp, lngIndex, 1)
  39.         End If
  40.     Next
  41.    
  42.     MsgBox "有颜色的字符为:【" & strColor & "】"
  43.    
  44.     strTemp = Replace(strTemp, strColor, "[前面加了东东]" & strColor & "【前面加了东东】")
  45.    
  46.     Rg.Value = strTemp
  47. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2018-4-27 17:23 | 显示全部楼层
skytutu1 发表于 2018-4-27 12:12
帖子里就有的,是有位大神帮我解决了问题的,但是今天用代码的时候就出错了,If arr(i, j)  "" Then这行 ...

If arr(i, j) <> "" 是判断除最左侧单元格外单元格是否为空,为空则不连接,连接的不只两个,多个都行,也可以有空格,我运行时没有错误,请上传附件,然后才能原因
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-28 20:24 , Processed in 0.035859 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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