Макрос работает отлично, шагая по нему F8, но он не работает нормально - PullRequest
0 голосов
/ 08 ноября 2018

Я ищу ответы, но, возможно, из-за того, что я не программист, мне трудно найти решение.Вот мой код.Заранее спасибо.Я пытаюсь выбрать только те номера, которых у меня нет в другом файле (Users Office 365), и после того, как я закончу с этими числами, скопируйте их в другой файл (users office 365).

Sub Officetres()
'
' Officetres Macro
'
' Scelta rapida da tastiera: CTRL+MAIUSC+J
'

Columns("A:A").Select
Application.Run "PERSONAL.XLSB!MatriculaSeleccion"
Columns("E:E").Select
Application.Run "PERSONAL.XLSB!MatriculaSeleccion"
Columns("H:H").Select
Application.Run "PERSONAL.XLSB!MatriculaSeleccion"
Range("A1").Select
Workbooks.Open "C:\Users\User Office 365.xlsx"
Windows("User Office 365.xlsx").Activate
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy


Windows("Student.xls").Activate
       Selection.End(xlDown).Select
ActiveCell.Offset(1).Select
Selection.Insert Shift:=xlDown

 ActiveCell.Offset(0, 1).Range("A1").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
With Selection
    .HorizontalAlignment = xlGeneral
    .VerticalAlignment = xlBottom
    .WrapText = True
    .Orientation = 0
    .AddIndent = False
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
End With
ActiveCell.FormulaR1C1 = "z"
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "z"
ActiveCell.Select
Selection.Copy
Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste
Range("A1").Select
   Application.CutCopyMode = False
Application.CutCopyMode = False
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$J$2085"), , xlYes).Name 
= _
    "Tabella1"

Range("Tabella1").Sort Key1:=Range("B1"), Order1:=xlDescending, Header:= _
    xlYes

ActiveSheet.Range("Tabella1").RemoveDuplicates Columns:=1, Header:= _
    xlYes

ActiveSheet.Range("Tabella1").RemoveDuplicates Columns:=3, Header:= _
    xlYes
    Selection.ListObject.ListRows(1).Delete
ActiveCell.Offset(1, 0).Range("Tabella1[[#Headers],[SIS ID]]").Select
Range(Selection, Selection.End(xlDown)).Select
If WorksheetFunction.CountA(Range("A2:a2")) = 0 Then
    Windows("User Office 365.xlsx").Activate
   ActiveWorkbook.Save
ActiveWindow.Close

Else
     Selection.Copy

Windows("User Office 365.xlsx").Activate

ActiveCell.Offset(1, 0).Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close


ActiveCell.Offset(-1, 0).Range("Tabella1[#All]").Select
ActiveCell.Activate
Selection.Copy
End If

End Sub

Вот картинка из файла ученика

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...