首页 > 解决方案 > 将宏脚本 - Excel 传输到 Google 工作表(SyntaxError:无效或意外令牌(第 1 行,文件)

问题描述

有一点问题,尝试将相同的宏脚本从 excel 粘贴到 GSheets Recorded Macros 中,但它没有。基本上我有一个输入信息的按钮,单击它会在新 MDA(人的姓名首字母)的首页上添加一个新行。还有一个要删除。

Sub New_MDA()
'Add New MDA Macro
    Dim a As Integer, ValueToFind As String
    Dim LastRow As Integer

    Application.ScreenUpdating = False

    Call Unprotect_Password
     Sheets("MDA's").Rows("2:4").EntireRow.Hidden = False

    'Check MDA is entered
    If Sheets("Insert New Staff").Range("E8").Value = "" Then
        MsgBox ("No MDA Entered")
        Exit Sub
    End If

    'Check First Name is entered
    If Sheets("Insert New Staff").Range("E9").Value = "" Then
        MsgBox ("No First Name Entered")
        Exit Sub
    End If

    'Check Surname is entered
    If Sheets("Insert New Staff").Range("E10").Value = "" Then
        MsgBox ("No Surname Entered")
        Exit Sub
    End If


    'See if MDA already exits in table
    LastRow = Sheets("MDA's").Cells(Sheets("MDA's").Rows.Count, "B").End(xlUp).Row
    ValueToFind = Sheets("Insert New Staff").Range("E8").Value
    For a = 2 To LastRow
       If Sheets("MDA's").Cells(a, 2).Value = ValueToFind Then
           MsgBox ("The MDA " & ValueToFind & " already exists on row " & a)
           Range("A1").Select
           Exit Sub
       End If
     Next a

    'Insert new line
    Sheets("MDA's").Rows("4:4").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

    'Add MDA
    Sheets("MDA's").Range("B4").Value = Sheets("Insert New Staff").Range("E8").Value

    'Add First Name
    Sheets("MDA's").Range("C4").Value = Sheets("Insert New Staff").Range("E9").Value

    'Add Surname
    Sheets("MDA's").Range("D4").Value = Sheets("Insert New Staff").Range("E10").Value

    'Fill full name formula
    Sheets("MDA's").Range("E4").Value = "=LEFT(C4,1)&"" ""&D4"

    'Sort
    Sheets("MDA's").Select
    Range("B2:E" & LastRow + 1).sort Key1:=Range("B2"), Header:=xlYes

    Sheets("MDA's").Range("A1").Select

    Call Update_MDA_DropDownBox

    'Delete Old Info
    Sheets("Insert New Staff").Range("E8:E10").ClearContents
    Sheets("Insert New Staff").Select
    Range("A1").Select

 Sheets("MDA's").Rows("3:4").EntireRow.Hidden = True

    Call Add_Password

    Application.ScreenUpdating = True

End Sub

标签: htmlexcelvba

解决方案


Google 表格和 Excel 是 2 个完全不同的应用程序。

Google 表格使用Google Apps Script(一种 JavaScript)作为语言,而 Excel 使用VBA作为语言。因此,您需要自己将代码从 VBA 翻译成 Google Apps 脚本,因为没有自动翻译。

实际上它是用另一种语言重写整个代码。


推荐阅读