将不同Excel文件中的行复制到列中
我需要将一行中的一些元素从一个文件复制到另一个文件中的一些不同单元格。 这是起始文件:将不同Excel文件中的行复制到列中,excel,csv,xls,vba,Excel,Csv,Xls,Vba,我需要将一行中的一些元素从一个文件复制到另一个文件中的一些不同单元格。 这是起始文件: output.csv I_30_2_02_02_1.csv 7 239 I_30_2_02_02_1.csv 7 174 I_30_2_02_02_1.csv 7 458 I_30_2_02_02_1.csv 7 156 I_30_2_02_02_1.csv 7 163 这是结束文件: Results.xls I_30_2_02_02_1.csv 7 239 7
output.csv
I_30_2_02_02_1.csv 7 239
I_30_2_02_02_1.csv 7 174
I_30_2_02_02_1.csv 7 458
I_30_2_02_02_1.csv 7 156
I_30_2_02_02_1.csv 7 163
这是结束文件:
Results.xls
I_30_2_02_02_1.csv 7 239 7 174 7 458 7 156 7 163
我必须这样做900次
你知道我怎么做吗?我尝试粘贴特殊,但它复制了元素。
谢谢您的帮助。我不确定您是否要将这些值7239,…,依此类推粘贴到一行中。但是,如果该假设是正确的,并且假设您的数据在表4中,那么在单元格B2中使用的公式是(用于获取前7个) 可以将公式拖到900列。XLS中的A1可以直接链接到CSV中的A1 这将为您提供一行中的所有值 请参阅所附excel文件的示例屏幕截图。下面重新粘贴的值仅用于说明目的。 ]
注意:如果您不确定条目的数量,则索引函数$B$1:$C$12中的公式可以推广为$B:$C。我不确定您是否要将这些值7239,…,依此类推粘贴到一行中。但是,如果该假设是正确的,并且假设您的数据在表4中,那么在单元格B2中使用的公式是(用于获取前7个) 可以将公式拖到900列。XLS中的A1可以直接链接到CSV中的A1 这将为您提供一行中的所有值 请参阅所附excel文件的示例屏幕截图。下面重新粘贴的值仅用于说明目的。 ]
注意:如果您不确定条目的数量,则索引函数$B$1:$C$12中的公式可以概括为$B:$C。使用此代码循环浏览目录中的所有.csv文件。在中间部分添加特定的字符串操作或其他操作。如果你也需要帮助,请添加评论
'KMZ 02/05/20105
Option Explicit
Private Sub whatever()
'PURPOSE: To loop through all specified filetypes in a user specified folder and perform a set task on them
'typical excel variables
Dim wb As Workbook
Dim myPath As String
Dim myFile As String
Dim myExtension As String
Dim FldrPicker As FileDialog
'classic loopers
Dim i, j, k As Long
'Optimize Macro Speed
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'Retrieve Target Folder Path From User
Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
With FldrPicker
.Title = "Select A Target Folder - {Where your *.csv's are saved...}"
.AllowMultiSelect = False
If .Show <> -1 Then GoTo NextCode
myPath = .SelectedItems(1) & "\"
End With
'In Case of Cancel
NextCode:
myPath = myPath
If myPath = "" Then GoTo ResetSettings
'Target File Extension (must include wildcard "*")
myExtension = "*.csv"
'Target Path with Ending Extention
myFile = Dir(myPath & myExtension)
'Loop through each Excel file in folder
Do While myFile <> ""
Debug.Print "myFile = " & myFile
'Set variable equal to opened workbook
Set wb = Workbooks.Open(Filename:=myPath & myFile)
'Do your stuff here, man.
With wb.Worksheets(1)
'add in your string manipulation / cell dumping here
'with a few lines
End With
'Close opened *.csv, do not save
wb.Saved = True 'fake a save, so message box doesnt pop up
wb.Close SaveChanges:=False
'Get next file name
myFile = Dir
Loop
'Message Box when tasks are completed
MsgBox "Task Complete! Review in your xlWorkbook!"
ResetSettings:
'Reset Macro Optimization Settings
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
KMZ 02/05/20105
选项显式
私人分公司
'用途:在用户指定的文件夹中循环所有指定的文件类型,并对其执行设置任务
'典型excel变量
将wb设置为工作簿
将myPath设置为字符串
将myFile设置为字符串
Dim myExtension作为字符串
Dim FldrPicker As FILE对话框
“经典的活套
尺寸i、j、k与长度相同
'优化宏速度
Application.ScreenUpdating=False
Application.EnableEvents=False
Application.Calculation=xlCalculationManual
'从用户检索目标文件夹路径
Set FldrPicker=Application.FileDialog(msoFileDialogFolderPicker)
用FldrPicker
.Title=“选择目标文件夹-{保存*.csv的地方…}”
.AllowMultiSelect=False
如果.Show-1,则转到下一个代码
myPath=.SelectedItems(1)和“\”
以
"如果取消,
下一个代码:
myPath=myPath
如果myPath=”“,则转到重置设置
'目标文件扩展名(必须包含通配符“*”)
myExtension=“*.csv”
'具有结束扩展名的目标路径
myFile=Dir(myPath&myExtension)
'循环浏览文件夹中的每个Excel文件
当我的文件“”时执行此操作
调试。打印“myFile=”&myFile
'将变量设置为等于打开的工作簿
设置wb=Workbooks.Open(文件名:=myPath&myFile)
“在这里做你的事,伙计。
带wb.工作表(1)
'在此处添加字符串操作/单元格转储
“几句话
以
'关闭打开的*.csv,不保存
wb.Saved=True“伪造保存,因此消息框不会弹出
wb.Close SaveChanges:=False
'获取下一个文件名
myFile=Dir
环
'任务完成时的消息框
MsgBox“任务完成!在工作簿中查看!”
重置设置:
'重置宏优化设置
Application.EnableEvents=True
Application.Calculation=xlCalculationAutomatic
Application.ScreenUpdating=True
端接头
使用此代码循环浏览目录中的所有.csv文件。在中间部分添加特定的字符串操作或其他操作。如果你也需要帮助,请添加评论
'KMZ 02/05/20105
Option Explicit
Private Sub whatever()
'PURPOSE: To loop through all specified filetypes in a user specified folder and perform a set task on them
'typical excel variables
Dim wb As Workbook
Dim myPath As String
Dim myFile As String
Dim myExtension As String
Dim FldrPicker As FileDialog
'classic loopers
Dim i, j, k As Long
'Optimize Macro Speed
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'Retrieve Target Folder Path From User
Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
With FldrPicker
.Title = "Select A Target Folder - {Where your *.csv's are saved...}"
.AllowMultiSelect = False
If .Show <> -1 Then GoTo NextCode
myPath = .SelectedItems(1) & "\"
End With
'In Case of Cancel
NextCode:
myPath = myPath
If myPath = "" Then GoTo ResetSettings
'Target File Extension (must include wildcard "*")
myExtension = "*.csv"
'Target Path with Ending Extention
myFile = Dir(myPath & myExtension)
'Loop through each Excel file in folder
Do While myFile <> ""
Debug.Print "myFile = " & myFile
'Set variable equal to opened workbook
Set wb = Workbooks.Open(Filename:=myPath & myFile)
'Do your stuff here, man.
With wb.Worksheets(1)
'add in your string manipulation / cell dumping here
'with a few lines
End With
'Close opened *.csv, do not save
wb.Saved = True 'fake a save, so message box doesnt pop up
wb.Close SaveChanges:=False
'Get next file name
myFile = Dir
Loop
'Message Box when tasks are completed
MsgBox "Task Complete! Review in your xlWorkbook!"
ResetSettings:
'Reset Macro Optimization Settings
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
KMZ 02/05/20105
选项显式
私人分公司
'用途:在用户指定的文件夹中循环所有指定的文件类型,并对其执行设置任务
'典型excel变量
将wb设置为工作簿
将myPath设置为字符串
将myFile设置为字符串
Dim myExtension作为字符串
Dim FldrPicker As FILE对话框
“经典的活套
尺寸i、j、k与长度相同
'优化宏速度
Application.ScreenUpdating=False
Application.EnableEvents=False
Application.Calculation=xlCalculationManual
'从用户检索目标文件夹路径
Set FldrPicker=Application.FileDialog(msoFileDialogFolderPicker)
用FldrPicker
.Title=“选择目标文件夹-{保存*.csv的地方…}”
.AllowMultiSelect=False
如果.Show-1,则转到下一个代码
myPath=.SelectedItems(1)和“\”
以
"如果取消,
下一个代码:
myPath=myPath
如果myPath=”“,则转到重置设置
'目标文件扩展名(必须包含通配符“*”)
myExtension=“*.csv”
'具有结束扩展名的目标路径
myFile=Dir(myPath&myExtension)
'循环浏览文件夹中的每个Excel文件
当我的文件“”时执行此操作
调试。打印“myFile=”&myFile
'将变量设置为等于打开的工作簿
设置wb=Workbooks.Open(文件名:=myPath&myFile)
“在这里做你的事,伙计。
带wb.工作表(1)
'在此处添加字符串操作/单元格转储
“几句话
以
'关闭打开的*.csv,不保存
wb.Saved=True“伪造保存,因此消息框不会弹出
wb.Close SaveChanges:=False
'获取下一个文件名
myFile=Dir
环
'任务完成时的消息框
MsgBox“任务完成!在工作簿中查看!”
重置设置:
'重置宏优化设置
Application.EnableEvents=True
Application.Calculation=xlCalculationAutomatic
Application.ScreenUpdating=True
端接头
因此我必须创建一个sheet4,在其中复制output.csv中包含的数据?不,sheet4是我的工作表,与csv文件中的工作表相对应。你需要得到完整的答案