У меня один вопрос по поводу кода 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
Может кто-нибудь помочь, что может быть не так с этим кодом?