Excel VBA Macro适用于Windows,但不适用于Mac

时间:2016-06-01 23:03:31

标签: excel macos vba ms-office

如标题所示:我在PC上使用MS Office 2013,在Mac上使用2011。

以下是代码:

Sub import_rekordow()

Dim tbl As ListObject
 Call czyszczenie_kreatora2
Set tbl = Sheets("Temp_1").ListObjects("Tabela8")

   With tbl.DataBodyRange
    If .Rows.Count > 1 Then
      .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Rows.Delete
    End If
  End With

    Sheets("Temp_1").Range("Tabela8").ClearContents
    Sheets("Baza_danych").Range("Tabela7").Copy
    Sheets("Temp_1").Range("Tabela8[Data kontroli]").PasteSpecial _
        Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp_1").ListObjects("Tabela8").Range.AutoFilter Field:=20, Criteria1:= _
        "0"

    Application.CutCopyMode = False
    Sheets("Temp_1").Range("Tabela8[Data kontroli]").EntireRow.Delete
    Sheets("Temp_1").ListObjects("Tabela8").Range.AutoFilter Field:=20
    Sheets("Temp_1").Range("Tabela8[[Data kontroli]:[Numer części]]").Copy

    Sheets("Kreator").Range("C25").PasteSpecial _
        Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Application.CutCopyMode = False
    Sheets("Temp_1").Range("Tabela8[[OK" & Chr(10) & "(bez naprawy)]:[OK" & Chr(10) & "(po naprawie)]]").Copy
    Sheets("Kreator").Range("G25").PasteSpecial _
        Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Application.CutCopyMode = False
    Sheets("Temp_1").Range("Tabela8[[Wada1]:[Ilość roboczogodzin]]").Copy
    Sheets("Kreator").Range("K25").PasteSpecial _
        Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Sheets("Kreator").Range("S25").End(xlDown).ListObject.ListRows.Add AlwaysInsert:=False

End Sub

    Sub czyszczenie_kreatora2()

    Sheets("Kreator").ListObjects("Tabela1").Resize Range("$B$24:$S$25")
    Sheets("Kreator").Rows("26:50000").Delete

    End Sub

不幸的是我不是100%确定这是哪一行(我没有mac)但可能在这里(如我朋友所说):

Sheets("Temp_1").Range("Tabela8[[OK" & Chr(10) & "(bez naprawy)]:[OK" & Chr(10) & "(po naprawie)]]").Copy

上表中的列名称被命名为“OK bez naprawy”oraz“OK po naprawie”。我试图分别复制这些数据,但没有效果。也许我犯了一些明显的错误,但我只是在学习。提前感谢您的帮助!

0 个答案:

没有答案