首页 > 解决方案 > Excel 在一台计算机上工作,但在另一台计算机上出现错误 400

问题描述

我有一个关于 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

谁能帮忙,这段代码有什么问题?

标签: excelvba

解决方案


推荐阅读