Hem Sociala medier Förstå Excel VBA IsDate-funktionen - dummies

Förstå Excel VBA IsDate-funktionen - dummies

Video: Skapa en VBA-funktion med Excel 2010 2024

Video: Skapa en VBA-funktion med Excel 2010 2024
Anonim

VBAs IsDate-funktion talar förmodligen om en textsträng kan tolkas som ett datum. Till exempel utvärderar alla följande uttryck till True:

IsDate ("5/25/2015") IsDate ("16 januari") IsDate ("12-1") IsDate ("12/1/15") IsDate ("2/30") IsDate ("30/2")

I de två senaste exemplen märker du att IsDate inte är picky om dagens och månadens ordning. Båda dessa strängar kan tolkas som ett datum, så IsDate returnerar True (oavsett inställningar för systemdatumsformat).

Här finns en del information från en Microsoft Support-artikel:

VBA-datumfunktionerna IsDate, Format, CDate och CVDate använder en funktion som finns i OLE Automation (OleAut32. Dll). Denna funktion söker alla möjliga datumformat genom att tokenera varje av de separerade värdena i strängen som representerar datumet och returnerar ett booleskt värde som anger huruvida ingången kan representeras som ett datum.

Detta är viktigt att komma ihåg när du använder funktionen för att tolka ett datum som innehåller ett 2-siffrigt år. Olika platser använder olika datumformat (det vill säga mm / dd / yy, yy / mm / dd, " DD MMM YY " , " ÅÅ MMM DD " osv.) Och därför försöker funktionen siffrorna i alla positioner tills funktionen har hittat ett giltigt datum eller uttömt alla möjligheter.

Bara för att IsDate känner igen en sträng som ett datum betyder det inte att strängen kan konverteras tillförlitligt till ett datum. I vissa fall är resultatet tvetydigt. Till exempel, vad sägs om detta uttryck?

IsDate ("29 feb-01")

29 februari 2001 är inte ett giltigt datum. Men detta uttryck returnerar True eftersom 1 februari 1929 (och 2 januari 1929) är giltiga datum. Och det är samma datum 2029.

En sökning efter IsDate-dokumentationen kom upp tom. Baserat på test accepterar IsDate något av följande som separatortecken: ett snedstreck (/), en bindestreck (-), ett komma (,), en punkt (.) Och ett mellanslag.

Därför returneras följande uttryck alla True:

IsDate ("5. 1") IsDate ("30 6") IsDate ("30, 6") IsDate ("1/2")

Men då är det här avvikelsen: Följande uttryck returnerar True:

IsDate ("5, 1. 5") IsDate ("5. 1. 05")

Detta uttryck uttrycker emellertid inte False:

IsDate ("5. 1. 2005")

Antag att du skapade en UserForm med en InputBox där användaren anger ett datum. Det bör vara klart att användandet av IsDate för att validera posten inte är mycket tillförlitlig.

Saker blir ännu mer förvirrande när du inser att IsDate också täcker tidsvärden. (Det finns ingen motsvarande IsTime-funktion.) Så följande returnerar alla True:

IsDate ("4: 45") IsDate ("4. 45") IsDate ("4 45") IsDate ") IsDate (" 23: 59 ")

Dessa uttryck returnerar False:

IsDate (" 4: 60 ") IsDate (" 24. 45 ")

Det är viktigt att påpeka att IsDate inte uppvisa alla dessa quirks när du passerar ett Range argument. Till exempel:

IsDate (Range ("A1"))

Det verkar som om IsDate är helt tillförlitlig vid identifiering av celler som innehåller datum eller tid. Det identifierar exempelvis inte en cell som innehåller 5. 1 som ett datum. Om din kod behöver bestämma huruvida en sträng kan tolkas som ett datum, är den bästa lösningen att sätta den här strängen i en cell och skriv sedan kod för att kontrollera innehållet i cellen.

Förstå Excel VBA IsDate-funktionen - dummies

Redaktörens val

Hur man använder parameterhanteraren i AutoCAD 2014 - dummies

Hur man använder parameterhanteraren i AutoCAD 2014 - dummies

Både AutoCAD och AutoCAD LT inkluderar parametrarna Managerpaletten, tillgänglig från fliken Hantera paneler i fliken Parametriska fliken. Du kan använda parameterhanteraren för att ge alla de dimensionella begränsningarna mer förnuftiga namn än d1 och d2, men du kan (ännu mer användbart) skriva uttryck istället för vanliga numeriska värden, som du kan ...

Hur man använder POLygon Command i AutoCAD 2014 - dummies

Hur man använder POLygon Command i AutoCAD 2014 - dummies

Rektanglar och andra slutna polyliner är typer av polygoner eller slutna figurer med tre eller flera sidor. Kommandot AutoCAD POLygon ger ett snabbt sätt att skriva regelbundna polygoner (alla sidor och vinklar är lika). Följande steg visar hur du använder POLygon-kommandot: Klicka på Polygon från rullgardinsmenyn Rektangel på ...

Redaktörens val

Photoshop CS4 Filter Gallery Färger - dummies

Photoshop CS4 Filter Gallery Färger - dummies

De flesta Photoshop CS4-kreativa filter använder förgrundsfärg, bakgrundsfärg eller båda, och Du bör välja dessa färger innan du går in i Filtergalleriet. Använd den här listan för viktiga Photoshop-filter och de färger som de använder: Filtrera färg (er) Filter Färg (ar) KonstnärKolorerade Penna Bakgrundsskiss → Grafisk Penna Förgrunden + Bakgrund Konstnärlig Glöd Förgrunden + Bakgrundsskiss → Halvton ...

Photoshop 6 För Dummies Cheat Sheet - Dummies

Photoshop 6 För Dummies Cheat Sheet - Dummies

Photoshop 6 erbjuder en kreativ överblick för redigering, ändring och förbättring av bilder . Utöver en välutrustad verktygslåda får du en mängd paletter och genvägar som hjälper dig att navigera, lagra, välja, måla och redigera dina bilder med en knapptryckning eller två.

Photoshop CS5 Allt-i-ett för Dummies Cheat Sheet - Dummies

Photoshop CS5 Allt-i-ett för Dummies Cheat Sheet - Dummies

Precis när du tror branschledaren inom digital bildhanteringsprogramvara hade varje funktion, verktyg, klocka och visselpipa som du kan behöva, Photoshop lyckas ge mer än en gång. Photoshop CS5 behåller allt det hade i tidigare versioner och ger sedan några nya funktioner för att hjälpa dig med dina uppgifter, till exempel Puppet Warp, förbättras ...

Redaktörens val

Nikon D300s för Dummies Cheat Sheet - dummies

Nikon D300s för Dummies Cheat Sheet - dummies

Din Nikon D300s är en fotografs dröm och producerar exceptionella bilder även i tuffa belysning, fantastisk autofokusering och även HD-filminspelning. För att hjälpa dig att bekanta dig med din kamera, här är en snabbguide som markerar kamerans externa kontroller och beskriver hur du får tillgång till viktiga bildtagnings- och uppspelningsfunktioner.

Wi-Fi-överföring på din Nikon D5500 - dummies

Wi-Fi-överföring på din Nikon D5500 - dummies

Med din kameras Wi-Fi-funktion kan du ansluta din Nikon D5500 trådlöst till vissa "smarta" enheter: Speciellt Android och Apple iOS-baserade telefoner, tabletter och mediaspelare (till exempel Apples iPod touch). Innan du kan njuta av denna funktion måste du installera Nikon Mobile Wireless Utility-appen på din enhet. För Android-baserade enheter söker du efter ...