Sub Main()
Dim filter As String
Dim caption As String
Dim customerFilename As String
Dim customerWorkbook As Workbook
Dim targetWorkbook As Workbook
Set targetWorkbook = Application.ActiveWorkbook
filter = "Text files (*.xls),*.xls"
caption = "Please Select an input file "
customerFilename = Application.GetOpenFilename(filter, , caption)
Set customerWorkbook = Application.Workbooks.Open(customerFilename)
Dim Source As Worksheet
Dim Datafile1 As Worksheet
Set Datafile = customerWorkbook.Worksheets(1)
Set AdminList= customerWorkbook.Worksheets(2)
Set Source = targetWorkbook.Worksheets(1)
Set List_of_Admins = targetWorkbook.Worksheets(3)
Source.Range("A1", "C100000").Value = Datafile.Range("A3", "C100000").Value
List_of_Admins.Range("A1", "D100000").Value = AdminList.Range("A3", "D100000").Value
targetWorkbook.Worksheets(4).Activate
customerWorkbook.Close savechanges:=False
Dim x As Integer
Sheets("List_of_Admins").Select
NumRows = Range("A2", Range("A2").End(xlDown)).Rows.Count
Sheets("List_of_Admins").Select
Range("A2").Select
For x = 1 To NumRows
ActiveCell.Select
Selection.Copy
Sheets("Instructions").Select
Range("C1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks :=False, Transpose:=False
Dim filterList1 As Variant
filterList1 = Array("Ann", "Sarah", "Kevin", "Naomi", "James")
filterCol1 = 1
lastrowSrc = Sheets("Source").Range("A" & Rows.Count).End(xlUp).Offset(1).Row
lastrowDest = Sheets("Target").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Source").AutoFilterMode = False
Sheets("Source").Range("$A$1:$O" & lastrowSrc).AutoFilter Field:=filterCol1, Criteria1:=filterList1, Operator:=xlFilterValues
Sheets("Source").Range("A2:O" & lastrowSrc).SpecialCells (xlCellTypeVisible).Copy Destination:=Sheets("Target").Cells(lastrowDest + 1, 1)
Dim save_as As Variant
Dim file_name As String
file_name = Sheets("Instructions").Range("C1")
save_as = Application.GetSaveAsFilename(file_name, FileFilter:="Excel Files,*.xlsm,All Files,*.*")
If save_as = False Then Exit Sub
If LCase$(Right$(save_as, 4)) <> ".xls" Then
file_name = save_as & ".xls"
End If
ActiveWorkbook.SaveAs Filename:=save_as
'Next - repeat back to loop
Sheets("List_of_Admins").Select
ActiveCell.Offset(1, 0).Select
Next
Sheets("Instructions").Select
Range("C1").Select
End Sub
Automatisieren macht Sinn. Was hast du probiert? Können Sie den Code einfügen, an dem Sie hängen bleiben? – Tim
Ich bin neu in VBA, und ging hin und her zwischen den verfügbaren Codes versuchen, VBA zu erstellen, um die folgenden auszuführen, war aber nicht in der Lage, eine vollständige erhalten, die durchgehend durchlaufen. Sub Makro2() ' ' Makro2 Macro ' ' Sheets ("Liste der Admins") Wählen Sie Range ("A2") Wählen Sie Sheets ("Source") Wählen Sie Spalten ("A:... A ") .Select Selection.AutoFilter ActiveSheet.Range (" $ A $ 1: $ A $ 50 ") Autofilter Field:. = 1, Criteria1: =" Ann“ Range ("B2:. C5") Wählen Sie Auswahl. .. kopieren Sheets ("Target") Wählen Sie Range ("B7") – Shanl
ActiveSheet.Paste End Sub Wählen Sie hier den Code, den ich zusammen bisher aus verschiedenen Suchen gestellt haben: – Shanl