EXCEL的vba问题太多了!达人请进
来源:百度知道 编辑:UC知道 时间:2024/06/25 12:47:40
在这里面我看了下, oaharnold和 xsm4296后面的公式测试通过。但我想要的是两个数据间有空单元格。也就是隔一个数空一个。不是隔两个。希望能改进一下哦!另外,是如何控制是哪个指定列的转换呢?
代码可以更简单。
根据你的要求,这样代码就更简单了。
设原数据在Sheets(1)第m列 从 第a行到第b行
需要复制到Sheets(2)的第n行,从第c列开始。
Sub aaa()
k=0
for I=a to b
Sheets(2).Cells(n, I+k+c-a) = Sheets(1).Cells(I, m)
k=k+1
next I
End sub
请根据需要自己填上m,n,a,b,c就ok了
jkcrow 可能用惯了2007,没有注意到256列的限制,
如果还在用2003的人会出问题。
xsm4296能用函数解决不错。
公式没测试过,方法学习了。
但说法我不同意。
如果你试过1个工作簿中有上万个各类公式。
就知道什么叫慢了。
方法各有千秋,要看情况。
还要看各人对excel的掌握程度和偏好。
好像没人能100%都通吧。
不难,录一个宏即可,等下我发代码,如果你有代码,请发上来
宏代码(没有调试合并单元格情况,只能简单单列(行)转置):
Dim MyClip As New CClipboard
Sub Macro1()
Dim a() As String
Dim TempStr As String
TempStr = MyClip.GetText()
a() = Split(TempStr, Chr(13))
a() = Split(a(0), Chr(9))
Dim TempCol As Integer
Dim TempRow As Integer
TempCol = Selection.Column
TempRow = Selection.Row
For i = 0 To UBound(a()