导航:首页 > 数据处理 > vba如何把两个数据放在一起

vba如何把两个数据放在一起

发布时间:2022-11-14 20:08:21

① 用VBA编写合并多个工作表的数据到一张表中

Public Sub AutoCopy()
Dim MyPath As String
Dim MyName As String
Dim AllName() As String
Dim MyWB As Workbook
i = 0
Application.ScreenUpdating = False
MyPath = "C:\Users\Public\Documents\microsoft\test"
ActiveSheet.Range("A1") = "工号"
ActiveSheet.Range("B1") = "姓名"
ActiveSheet.Range("C1") = "工序"
If Right(MyPath, 1) <> "\" Then
MyPath = MyPath & "\"
End If
MyName = Dir(MyPath & "*.xlsx", 0)
Do While MyName <> ""
ReDim Preserve AllName(i)
AllName(i) = MyName
i = i + 1
MyName = Dir
Loop
For j = 0 To i - 1
If AllName(j) <> "" Then
'ActiveSheet.Cells(j + 1, 6) = AllName(j) & " " & j
Set MyWB = GetObject(MyPath & AllName(j))
ThisWorkbook.Sheets(1).Range("A" & ActiveSheet.Range("A65535").End(xlUp).Row + 1 & ":C" & _
ActiveSheet.Range("A65535").End(xlUp).Row + MyWB.Sheets(1).Range("D65535").End(xlUp).Row - 1).Value _
= MyWB.Sheets(1).Range("B2:D" & MyWB.Sheets(1).Range("D65535").End(xlUp).Row).Value
Workbooks(AllName(j)).Close
End If
Next j
Application.ScreenUpdating = True
End Sub

试试这个看 要把MyPath = "C:\Users\Public\Documents\microsoft\test"改成你自己的文件夹路径

② vba 几个单元格的数据拼凑成一个

Sub组合()
DimJGArr(),TopRow,EndRowAsVariant
DimRngAsRange,N,EndColAsLong
TopRow=Application.InputBox("输入首行号:","首行号输入",2,Type:=1)
EndRow=Application.InputBox("输入尾行号:","尾行号输入",2,Type:=1)
IfTopRow="False"OrEndRow="False"ThenExitSub
EndCol=Range("iv1").End(xlToLeft).Column
Fori=TopRowToEndRow
N=N+1
ReDimPreserveJGArr(1ToN)
Forj=1ToEndCol
IfCells(i,j)<>""Then
Ifj=2Then
temp=Left(Cells(i,j),Len(Cells(i,j))-1)
Else
temp=Cells(IIf(j>2,1,i),j)
EndIf
JGArr(N)=JGArr(N)&temp
EndIf
Next
Next
Sheet2.Range("A1")="组合第"&TopRow&"行-第"&EndRow&"行"
Sheet2.Range("A2").Resize(N,1)=WorksheetFunction.Transpose(JGArr)
EndSub

③ vba如何把两个代码合并成一个呢

如果是两个过程都要执行的话,都调用就行了,或者嵌套到一个里面然后调用一个
代码如下:

④ vba 通过数组将 两列数据合并成一列 并显示出来

用我下面的代码可以满足你的需求:

OptionExplicit
SubYgB()
Dimarr1,arr2
arr1=Range(Cells(1,1),Cells(Rows.Count,1).End(xlUp))
arr2=Range(Cells(1,2),Cells(Rows.Count,2).End(xlUp))
Cells(Rows.Count,4).End(xlUp).Offset(1,0).Resize(UBound(arr1),1)=arr1
Cells(Rows.Count,4).End(xlUp).Offset(1,0).Resize(UBound(arr2),1)=arr2
EndSub

第一步获得A、B列的内容到数组,原理和你的基本相同,区别是我使用Rows.count代替你的65536,可以确保在能支持100多万行的新版本下正确运行,另外我使用cells(1,1)代替range("a1")理论上速度好一点点。

第二步把数组存放在D列的下一个可用单元格,我是直接输出的,没有使用新的数组。

⑤ EXCEL里VBA问题请教,如何把两个表格的数据相互融合,用代码怎么表示谢谢

用下面处理方法

多行一表法

⑥ Excel 如何用VBA将多列内容合并为一列的内容

1、用VBA读出没列数据
2、汇合到一个表格中。
3、读出的数据可以暂时存到数组中。
4、网络一下会有很多代码。

⑦ vba 如何合并数据

for x=1 to 10
for y=y to 10 step 2
cells(x,y)=cells(x,y) &cells(x,y+1)
next y
next x

⑧ VBA在excel 表中如何将两个单元格内容写入到一个单元格并且用/分隔

代码类似于
sheet2.Range("C1")=sheet1.Range("A1") & "/" & sheet1.Range("B1")

⑨ 把两列并在一起,vba代码该怎么编写

sub a()
dim brr()

arr=[a1].currentregion
redim brr(1 to ubound(arr,1))

for i=1 to ubound(arr,1)

brr(i)=arr(i,1) & arr(i,2)

next

[a1].resize(ubound(brr,1)=application.transpose(brr)

end sub

这个没必要用vba吧,C列公式=a1 & b1, 下拉,然后,复制》选择性粘贴把A列覆盖掉就好了啊?

⑩ 如何用VBA将Excel某列任意两个单元格的内容合并显示到行单元格

C2公式:

=B2&IFERROR(","&VLOOKUP(A2,A3:C1000,3,0),"")

阅读全文

与vba如何把两个数据放在一起相关的资料

热点内容
抚州抖音小程序开发一般多少钱 浏览:518
正规人事代理有哪些 浏览:382
猫达人微信小程序是什么 浏览:507
华为的接入技术主要有哪些 浏览:321
如何规范编辑群信息 浏览:188
云悠悠神秘交易行在哪里 浏览:537
飞机控制程序用什么编程 浏览:308
腾讯文档怎么批量筛选数据 浏览:735
cmd如何结束一个正在运行的程序 浏览:506
solidcam程序编辑后处理在哪里 浏览:755
苹果退钱信息在哪里看 浏览:829
如何快速捕捉财经信息 浏览:38
小学信息技术硬件知多少公开课 浏览:671
营销代理叫什么 浏览:106
钢铁行业怎么成一级代理商 浏览:752
纳米技术什么病都可以治吗 浏览:255
u盘安装驱动程序停止怎么办 浏览:658
问道交易猫用户登陆id是什么 浏览:355
听书的市场有哪些看法 浏览:798
学技术很苦怎么办 浏览:106