XL2000: Data vrácená makra je čtyři roky příliš nejdříve možné

Překlady článku Překlady článku
ID článku: 213593 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Při spuštění makra použije datum z buňky listu datum vrácené makro pravděpodobně čtyři roky a jeden den starší než aktuální datum.

Příčina

Makra vrátí datum je čtyři roky a jeden den dříve při vyberte systém 1904 byl datum v kartě výpočty v dialogovém okně Možnosti a je splněna jedna z následujících podmínek:

  • Makro používá vlastnost hodnota2 při ukládá datum.

    Nebo

  • Ukládá datum makro používá funkci v knihovně aplikace Microsoft Excel.

Jak potíže obejít

Následující makro Určuje, zda kalendářní systém 1904 zaškrtnuto, převede datum kalendářním systému 1900 a vrátí očekávané datum.

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené,. včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele.
Chcete-li použít makro, postupujte takto:

  1. Vložit nový sešit, klepněte v nabídce soubor na příkaz Nový, klepněte na sešit a klepněte na tlačítko OK.
  2. V nabídce Nástroje klepněte na tlačítko Možnosti, klepněte na kartu výpočty a klepněte na kalendářní systém 1904 byl. Poté klepněte na tlačítko OK.
  3. Zadejte následující data List1:
          A1: 7/5/96
          A2: 5/11/96
          A3: 4/28/96
    					
  4. V nabídce Nástroje přejděte na příkaz makro a klepněte na příkaz Editor jazyka. V editoru jazyka modulu klepněte v nabídce Vložit.
  5. Do listu modulu zadejte následující kód:
          Sub DateTest()
             'dimension date variable
             Dim dDate As Date
    
             'store minimum date in range into variable
             dDate = Application.Min(Worksheets(1).Range("A1:A3"))
    
             'display stored date
             MsgBox "Stored date" & Chr(13) & dDate
    
             'check for 1904 date system
             If Application.ThisWorkbook.Date1904 Then
    
              'convert 1904 base date to 1900 base date
              dDate = DateSerial(Year(dDate) + 4, Month(dDate), Day(dDate) + 1)
    
              'display converted date
                MsgBox "Converted date" & Chr(13) & dDate
    
             Else
                MsgBox "1904 date system is not enabled"
             End If
          End Sub
    						
  6. Spustit makro, přejděte v nabídce Nástroje na příkaz makro a klepněte na příkaz makro. Vyberte DateTest a klepněte na tlačítko Spustit.
Zobrazí první pole zprávu s datem 4/27/92, což je čtyři roky a jeden den starší než nejbližší datum v oblasti buněk A1 A3. Druhém poli zprávy zobrazí správné "převedené" datum 4/28/96.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku.

Další informace

Visual Basic for Applications provede automaticky rozpoznat kalendářní systém 1904 a převést datum potřeby. Pokud uživatel vybere kalendářní systém 1904 v aplikaci Microsoft Excel a spustí makro čte data z listu buňku, rozdíl může být čtyři roky a jeden den (jeden den zvláštní účty pro přestupném roce). Datum 9/1/96 v kalendářní systém 1904 může například vrátit datum 8, 31/92.

Nesoulad systémové datum může nastat v jazyka při vyberte kalendářní systém 1904 a makro používá vlastnost hodnota2 při ukládá datum.

Vlastnosti

ID článku: 213593 - Poslední aktualizace: 1. února 2014 - Revize: 4.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Excel 2000 Standard Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbbug kbdtacode kbpending kbprogramming KB213593 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:213593

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com