将不同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文件中的工作表相对应。你需要得到完整的答案