Excel vba - как правильно объявить строку - PullRequest
0 голосов
/ 01 мая 2018

У меня есть некоторые фрагменты кода, которые повторяются много раз, и я также использую их в нескольких «групповых прогонах», поэтому я многократно использую свой код. Итак, я пытаюсь объявить некоторые значения таким образом, чтобы я мог изменить это только один раз в начале каждого прогона. Ниже я пытаюсь объявить имя листа и номер строки сверху, но я получаю только ошибку «переменная не определена». Любой, кто может помочь мне, как правильно объявить эти два значения - и как правильно их добавить в мой код (другие объявления уже сделаны и работают).

Dim grsh, ntid As String
grsh = s1g1
ntid = 2289

Application.StatusBar = "Now updating: & grsh &   (new report data)."                   'grsh

        lr = sh_2_fravær.Range("A" & Rows.Count).End(xlUp).Row
        sh_2_fravær.Range("A3:E" & lr).ClearContents

            Set wb_Fravær = Workbooks("Fravær.xlsm")
            lr = wb_Fravær.Sheets("grsh").Range("A" & Rows.Count).End(xlUp).Row         'grsh
            wb_Fravær.Sheets("grsh").Range("A4:D" & lr).Copy                            'grsh

                sh_2_fravær.Range("A3").PasteSpecial
                Application.CutCopyMode = False



        lr = sh_11_tid.Range("A" & Rows.Count).End(xlUp).Row
        sh_11_tid.Range("A&ntid:L" & lr).ClearContents                                   'ntid

            Set wb_Tidsbruk = Workbooks("Tidsbruk.xlsm")
            lr = wb_Tidsbruk.Sheets("grsh").Range("A" & Rows.Count).End(xlUp).Row        'grsh
            wb_Tidsbruk.Sheets("grsh").Range("A5:I" & lr).Copy                           'grsh

                sh_11_tid.Range("A&ntid").PasteSpecial                                   'ntid
                Application.CutCopyMode = False

1 Ответ

0 голосов
/ 01 мая 2018

Выглядит в основном как основные синтаксические ошибки.

    Dim grsh As String, ntid As Long          '<~~ fixed
    grsh = "s1g1"                             '<~~ fixed
    ntid = 2289

    Application.StatusBar = "Now updating: " & grsh & " (new report data)."   '<~~ fixed

    lr = sh_2_fravær.Range("A" & Rows.Count).End(xlUp).Row
    sh_2_fravær.Range("A3:E" & lr).ClearContents

    Set wb_Fravær = Workbooks("Fravær.xlsm")
    lr = wb_Fravær.Worksheets(grsh).Range("A" & Rows.Count).End(xlUp).Row    '<~~ fixed
    wb_Fravær.Worksheets(grsh).Range("A4:D" & lr).Copy                       '<~~ fixed

    sh_2_fravær.Range("A3").PasteSpecial
    Application.CutCopyMode = False

    lr = sh_11_tid.Range("A" & Rows.Count).End(xlUp).Row
    sh_11_tid.Range("A" & ntid & ":L" & lr).ClearContents                    '<~~ fixed

    Set wb_Tidsbruk = Workbooks("Tidsbruk.xlsm")
    lr = wb_Tidsbruk.Worksheets(grsh).Range("A" & Rows.Count).End(xlUp).Row   '<~~ fixed
    wb_Tidsbruk.Worksheets(grsh).Range("A5:I" & lr).Copy                      '<~~ fixed

    sh_11_tid.Range("A" & ntid).PasteSpecial                                  '<~~ fixed
    Application.CutCopyMode = False
...