网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月29日漏签0天
vb吧 关注:156,059贴子:1,166,215
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1回复贴,共1页
<<返回vb吧
>0< 加载中...

求助VBA

  • 只看楼主
  • 收藏

  • 回复
  • laqsxdc007
  • 求过二级
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求助各位 把设备明细表中柜号对应的型号规格数量依次批量复制到工作表“明细”行“元件名称”与行“箱体之间的列C列D列E区域的单元格中 这个可能有点难度 谢谢各位了



  • 萨摩耶不说话
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Sub CopyDataBasedOnAllMergedCells()
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim currentCell As Range
Dim mergedCell As Range
Dim startCell As Range
Dim endCell As Range
Dim startRow As Long
Dim endRow As Long
Dim targetRow As Long
Dim mergeCount As Long '新增变量,用于记录合并单元格的个数
Set wsSource = ThisWorkbook.Sheets("Sheet1") '源工作表,可根据实际修改
Set wsTarget = ThisWorkbook.Sheets("Sheet2") '目标工作表,可根据实际修改
mergeCount = 0 '初始化合并单元格个数为0
'先从B2单元格开始判断
Set currentCell = wsSource.Range("B2")
Do While True
'判断当前单元格是否为合并单元格
If currentCell.MergeCells Then
mergeCount = mergeCount + 1 '找到一个合并单元格,个数加1
Set mergedCell = currentCell.MergeArea
Set startCell = mergedCell.Cells(1)
Set endCell = mergedCell.Cells(mergedCell.Cells.Count)
startRow = startCell.Row
endRow = endCell.Row
targetRow = 3 + (mergeCount - 1) * 22 '根据合并单元格个数计算目标行号
wsSource.Range("C" & startRow & ":F" & endRow).Copy wsTarget.Cells(targetRow, "B")
Set currentCell = endCell.Offset(1) '从当前合并单元格区域的最后一个单元格往下移一个单元格继续判断
Else
If currentCell.Row > wsSource.Cells(wsSource.Rows.Count, "B").End(xlUp).Row Then
Exit Do '如果当前单元格超出了B列有数据的最后一行,结束循环
End If
Set currentCell = currentCell.Offset(1) '如果当前单元格不是合并单元格,往下移一个单元格继续判断
End If
Loop
End Sub


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回vb吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示