Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1992|回复: 5

[已解决]这个VBA综合C列名字错在哪里

[复制链接]
发表于 2017-3-11 16:46 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2017-3-12 21:33 编辑


这个VBA综合C列名字错在哪里


最佳答案
2017-3-12 21:26

Public Sub dd()
Dim alldata As Variant
Dim i As Integer
Dim n As Integer
Dim x As Integer
x = 1
alldata = Range("a2:b8").Value

For i = 1 To UBound(alldata, 2)
    For n = 1 To UBound(alldata, 1)
        If alldata(n, i) <> "" Then
   
            Range("c1").Offset(x, 0).Value = alldata(n, i)
            x = x + 1
        End If
    Next
Next
End Sub
不太理解你的用意?其实简单的拷贝是否可合适?用End(xlDown)去判断行尾。
这个VBA综合C列名字错在哪里.jpg

这个VBA综合C列名字错在哪里.rar

9.21 KB, 下载次数: 4

发表于 2017-3-11 17:41 | 显示全部楼层
Range("c2:c" & x) = Range("a2:a" & x).Value
Range("c" & x + 1).Resize(k - 1, 1) = Range("b2:b" & k).Value

-------------------------------------
Union(Range("g2:g" & x), Range("h2:h" & k)) = Union(Range("a2:a" & x), Range("b2:b" & k)).Value
这样 两个区域 的大小 与形状相同 , 可以写入 不出错 , 但不是你要的结果

想一次写入 , 用数组 整理数据 , 完成后 , 一次性写入

评分

参与人数 1 +6 收起 理由
laoau138 + 6 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-3-11 18:00 | 显示全部楼层
砂海 发表于 2017-3-11 17:41
Range("c2:c" & x) = Range("a2:a" & x).Value
Range("c" & x + 1).Resize(k - 1, 1) = Range("b2:b" & k) ...

如何用数组
回复

使用道具 举报

发表于 2017-3-12 21:26 | 显示全部楼层    本楼为最佳答案   

Public Sub dd()
Dim alldata As Variant
Dim i As Integer
Dim n As Integer
Dim x As Integer
x = 1
alldata = Range("a2:b8").Value

For i = 1 To UBound(alldata, 2)
    For n = 1 To UBound(alldata, 1)
        If alldata(n, i) <> "" Then
   
            Range("c1").Offset(x, 0).Value = alldata(n, i)
            x = x + 1
        End If
    Next
Next
End Sub
不太理解你的用意?其实简单的拷贝是否可合适?用End(xlDown)去判断行尾。

评分

参与人数 1 +6 收起 理由
laoau138 + 6 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-3-12 21:32 | 显示全部楼层
wenzili 发表于 2017-3-12 21:26
Public Sub dd()
Dim alldata As Variant
Dim i As Integer

果然高高手,
回复

使用道具 举报

 楼主| 发表于 2017-3-12 21:34 | 显示全部楼层
wenzili 发表于 2017-3-12 21:26
Public Sub dd()
Dim alldata As Variant
Dim i As Integer

http://www.excelpx.com/thread-428404-1-1.html

用VBA删除工作表中第3列区域内含有累计所在行
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-26 17:57 , Processed in 0.704701 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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