从txt文件复制/粘贴数据到新工作簿中的宏将粘贴到“个人工作簿”中

时间:2020-08-20 16:56:28

标签: excel vba

标题或多或少总结了它。我试图做一个简单的宏来打开,然后将数据从txt文件复制/粘贴到新打开的工作簿中。我所做的工作将其粘贴到新打开的“ Book1”之前打开的“个人工作簿”中。我可以将其粘贴到Book1中,但是我只想将其粘贴到打开的第一个工作簿中,以防将来要向同一文件中添加更多数据。我对此很陌生,因此不胜感激!

Public Sub ImportFile()
    Dim TextFile As Workbook
    Dim OpenFiles() As Variant
    Dim x As Integer
    
    OpenFiles = Application.GetOpenFilename(Title:="Select File(s) to Import", MultiSelect:=True)
    
    For x = 1 To Application.CountA(OpenFiles)
    
    Set TextFile = Workbooks.Open(OpenFiles(x))
    
    TextFile.Sheets(1).Range("A1").CurrentRegion.Copy
    Workbooks(1).Activate
    Workbooks(1).Worksheets.Add
    ActiveSheet.Paste
    
    TextFile.Close
    
    Next x
End Sub

2 个答案:

答案 0 :(得分:0)

它将创建一个新的工作簿。它将创建名称为“ New1,New2”等的其他工作表。希望它将对您的要求有所帮助

import json
**Executing API_2**
def firewall():
  list_firewall = []
  ssh = paramiko.SSHClient()
  ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  ssh.connect(hostname = HOSTNAME,username = USERNAME,key_filename = FILENAME)
  cmd = 'gcloud compute firewall-rules list --project <project-name> --filter="name~gke-<your-cluster-name>-[0-9a-z]*"'
  stdin,stdout,stderr = ssh.exec_command(cmd)
  for line in (stdout.read().splitlines()):
      data = line.split()[0]
      list_firewall.append(data)
  ssh.close()
  return json.dumps(list_firewall)

答案 1 :(得分:0)

请尝试下一行代码,

Debug.Print Workbooks(1).Name

它将返回“ PERSONAL.XLSB”。

因此,如果按原样使用您的代码,它将一直复制到“ PERSONAL.XLSB”中。

如果您不想使用新的工作簿,并且喜欢初始方法,则可以尝试:

   '...
   'your existing code
   TextFile.Sheets(1).Range("A1").CurrentRegion.Copy

   Dim wb As Workbook, ws As Worksheet
   If Workbooks.count > 1 Then
      Set wb = Workbooks(2)
   Else
     Set wb = Workbooks.Add
   End If
    Set ws = wb.Worksheets.Add
    'and always use this sheet to copy on it...
    'your existing code...
    '...
相关问题