Excel在一台计算机上工作,但在另一台计算机上却出现错误400

时间:2019-03-04 14:24:08

标签: excel vba

我对excel VBA代码有一个疑问。它可以在我的计算机上正常运行,但不能在朋友的计算机上运行。 (出现错误400)。我尝试通过删除Application.UserName来操作,但是它不起作用。我真的不知道该怎么做。

这是代码:

Sub Preglej_datum()

Dim c As Range
Dim novPodatek
'Za podatek, kateri stolpec vzamemo, da dobimo celoto izpolnjenih vrstic (vedno se gleda številka objave
Dim stolpec_do
Dim rngstolpec_do
rngstolpec_do = "A1:UU1"
For Each stolpec In ActiveSheet.Range(rngstolpec_do)
    If stolpec = "Stevilka objave" Then
        stolpec_do = stolpec.Column
        End If
    Next stolpec



'Za podatek, koliko vrstic vzamemo za pregled
Dim st_vrstic As Range
lastRow = ActiveSheet.Range(Cells(1, stolpec_do), Cells(700000, stolpec_do)).End(xlDown).Row



'V katerem stolpcu dobimo podatek, koliko časa je do konca razpisa
Dim datum_do
For Each stolpec1 In ActiveSheet.Range(rngstolpec_do)
    If stolpec1 = "Veljavnost Razpisa do" Then
        datum_do = stolpec1.Column
        End If
    Next stolpec1

'V katerem stolpcu dobimo podatek o Nazivu javnega narocnika
Dim stolpec_javninarocnik
For Each x In ActiveSheet.Range(rngstolpec_do)
    If x.Value = "Naziv Javnega naročnika" Then
        stolpec_javninarocnik = x.Column
        End If
    Next x


'V katerem stolpcu dobimo podatek o Opozorilu
Dim stolpec_opozorilo
For Each x In ActiveSheet.Range(rngstolpec_do)
    If x.Value = "Opozorjen" Then
        stolpec_opozorilo = x.Column
        End If
    Next x

'V katerem stolpcu dobimo podatek o sifri javnega narocila
Dim stolpec_sifrajavnega
For Each x In ActiveSheet.Range(rngstolpec_do)
    If x.Value = "Stevilka objave" Then
        stolpec_sifrajavnega = x.Column
        End If
    Next x


'Dobimo podatke, katerim razpisom poteče veljavnost (150dni od današnjega dneva)
Dim rng_potek_pogodbe As Range
Dim dostolpec_nazivjavnega
Dim dostolpec_opozorjen
Dim dostolpec_sifranarocila

dostolpec_nazivjavnega = stolpec_javninarocnik - datum_do
dostolpec_opozorjen = stolpec_opozorilo - datum_do
dostolpec_sifranarocila = stolpec_sifrajavnega - datum_do


Set rng_potek_pogodbe = ActiveSheet.Range(Cells(2, datum_do), Cells(lastRow, datum_do))
For Each c In rng_potek_pogodbe
    If c.Value - Date < 150 And IsEmpty(c.Offset(0, dostolpec_opozorjen).Value) And Not IsEmpty(c.Value) Then
        Dim vrednost
        vrednost = c.Value - Date
        MsgBox "Čez " & vrednost & " dni poteče veljavnost razpisa:" & vbCrLf & vbCrLf & "Šifra: " & c.Offset(0, dostolpec_sifranarocila).Value & vbCrLf & "Javni naročnik: " & c.Offset(0, dostolpec_nazivjavnega)
        ActiveSheet.Unprotect "1111"
        c.Offset(0, dostolpec_opozorjen).Value = "Opozorjen:" & Application.username
        ActiveSheet.Protect "1111", True, True, True, True, True, True, True, True, True
        novPodatek = novPodatek & "javni naročnik: " & c.Offset(0, dostolpec_nazivjavnega) & "; Potek naročila čez:" & vrednost & ";  Šifra Naročila:" & c.Offset(0, dostolpec_sifranarocila) & vbCrLf
    End If
Next c

'Zapis v beležnico
If Not IsEmpty(novPodatek) Then
    'Call beleznica(novPodatek)
    MsgBox "Works!"
End If
MsgBox "Pregled zaključen"
End Sub

任何人都可以帮忙,这段代码有什么问题?

0 个答案:

没有答案