VBA Val-functie

VBA Val staat voor Waarde. Het converteert de arrays of tekenreeks met sommige getallen in zuivere numerieke waarden. Stel dat we "111 One" als invoer geven, dan krijgen we alleen "111" als numerieke uitvoer. Dit is heel handig tijdens het werken aan gegevens die we uit een soort database halen. In dat databasebestand kunnen we dergelijke cellen tegenkomen die getallen kunnen bevatten, samen met extra spaties, verborgen tekens, speciale tekens of alfabetten. In dat geval kan het gebruik van Val die tekenreeks in getallen omzetten. Die kan worden gebruikt bij verdere analyse.

Hoe de Excel Val-functie in VBA te gebruiken?

Laten we de voorbeelden van Val in Excel VBA bekijken.

U kunt deze VBA VAL Excel-sjabloon hier downloaden - VBA VAL Excel-sjabloon

Voorbeeld # 1 - VBA Val

Het is vrij eenvoudig te implementeren. Voor meerdere soorten toepassingen en codes vormen we eerst een codeframe dat we in verdere voorbeelden meerdere keren zullen gebruiken.

Stap 1: Ga naar het menutabblad Invoegen en selecteer een module zoals hieronder weergegeven.

Stap 2: Daarna krijgen we het lege venster van Module. Schrijf daarin de subcategorie van VBA Val in Excel of u kunt elke andere naam van de subcategorie gebruiken, afhankelijk van uw behoefte.

Code:

 Sub VBA_Val () Einde Sub 

Stap 3: Definieer nu een variabele DIM A of kies iets in plaats van alfabet A om het als Variant toe te wijzen. Met Variant kunnen we elk gegevenstype gebruiken terwijl we de waarden in de variabele toewijzen.

Code:

 Sub VBA_Val () Dim A als variant einde Sub 

Stap 4: Wijs nu elk type nummerreeks toe aan variabele A onder VBA-functie VAL . We hebben een combinatie van een volgnummer toegewezen voor demonstratie zoals hieronder getoond met spaties ertussen.

Code:

 Sub VBA_Val () Dim A als variant A = Val ("11 22 33") End Sub 

Stap 5: Eindelijk hebben we een berichtenvak nodig om de waarden af ​​te drukken die zijn opgeslagen in variabele A.

Code:

 Sub VBA_Val () Dim A als variant A = Val ("11 22 33") MsgBox A End Sub 

Stap 6: compileer nu de code stap voor stap door op functietoets F5 te drukken. En voer het vervolgens uit door op de afspeelknop onder de menubalk te klikken, zoals hieronder wordt weergegeven. We zullen zien dat het de waarden retourneerde die zijn opgeslagen in de variabele. An als 112233 zoals hieronder weergegeven. Al deze waarden zijn zonder spaties.

Voorbeeld # 2 - VBA Val

In dit voorbeeld zullen we zien hoe de VBA Val-functie wordt gebruikt voor getallen die enkele wiskundige tekens bevatten. Hiervoor zullen we de hierboven geschreven code overwegen. We hebben het kader van de code verwijderd dat alle voorbeelden zal gebruiken, zoals hieronder getoond.

Stap 1: Ga naar het menutabblad Invoegen en selecteer een module zoals hieronder weergegeven

Stap 2: Zoals aangegeven in de onderstaande schermafbeelding, blijven we de waarde tussen haakjes van VAL-functie bijwerken.

Code:

 Sub VBA_Val2 () Dim A als variant A = Val ("") MsgBox A End Sub 

Stap 3: Laten we nu een willekeurig cijfer met een wiskundig teken plus ("+") invoegen, zoals hieronder wordt weergegeven.

Code:

 Sub VBA_Val2 () Dim A als variant A = Val ("+ 111") MsgBox A End Sub 

Stap 4: compileer nu en voer de code uit. We zullen zien dat VBA Val de waarden 111 heeft gegeven zonder het plusteken. Het is logisch dat alle waarden met of zonder plustekens altijd positief van aard zijn.

Stap 5: Laten we de waarde in de Val-functie wijzigen van +111 in -111. Nu zullen we zien of het minteken wordt omgezet in de waarde of niet.

Code:

 Sub VBA_Val2 () Dim A als variant A = Val ("- 111") MsgBox A End Sub 

Stap 6: compileer de code en voer uit. We zullen zien, het minteken blijft nog steeds in de waarde en het berichtvak heeft de waarde geretourneerd als -111 . Dat betekent dat elk ander teken dan plus niet wordt geconverteerd met de Val-functie in VBA.

Voorbeeld # 3 - VBA Val

In dit voorbeeld zullen we zien hoe de Val-functie zou werken voor tijdnotaties.

Stap 1: Ook hiervoor gebruiken we het hierboven gedefinieerde formaat voor Excel VBA Val zoals hieronder getoond.

Code:

 Sub VBA_Val3 () Dim A als variant A = Val ("") MsgBox A End Sub 

Stap 2: voeg nu elk tijdformaat in de VAL-functie in zoals omcirkeld in de bovenstaande screenshot. Hier voegen we 11 AM toe zoals hieronder getoond.

Code:

 Sub VBA_Val3 () Dim A als variant A = Val ("11 AM") MsgBox A End Sub 

Stap 3: compileer nu de code en voer uit. We zullen zien dat de VAL-functie AM vanaf 11 AM heeft geëlimineerd en ons slechts 11 als output heeft gegeven, zoals hieronder wordt getoond.

Stap 4: Laten we nu een ander formaat gebruiken. Gebruik elke minuut met uren. We hebben waarde 11:05 gebruikt onder Val-haakjes.

Code:

 Sub VBA_Val3 () Dim A als variant A = Val ("11:05 AM") MsgBox A End Sub 

Stap 5: compileer en voer de code opnieuw uit. Opnieuw heeft de Val-functie samen met AM de dubbele punt- en minutengetallen verwijderd en ons het hele nummer 11 gegeven, zoals hieronder wordt weergegeven.

Voorbeeld # 4 - VBA Val

In dit voorbeeld zullen we zien hoe de datumnotatie hierin werkt.

Stap 1: Stel opnieuw het formaat in voor de VBA Val-functie samen met de volledige code die we in de bovenstaande voorbeelden hebben gezien.

Code:

 Sub VBA_Val4 () Dim A als variant A = Val ("") MsgBox A End Sub 

Stap 2: voeg nu elke datumnotatie in volgens uw behoefte. We kunnen gegevens in een liggend streepje ("-") in een slash ("/") formaat invoegen. Laten we de slash-datumnotatie gebruiken die het meest wordt gebruikt.

Code:

 Sub VBA_Val4 () Dim A als variant A = Val ("06/26/2019") MsgBox A End Sub 

Stap 3: compileer nu de code en voer deze uit. We zullen zien dat VBA Val de numerieke waarden als "6" heeft geretourneerd. Waarden na slash worden niet geaccepteerd door VBA Val.

Voorbeeld # 5 - VBA Val

In dit voorbeeld zullen we zien hoe dit zal werken wanneer de cijfers achter de tekst staan.

Stap 1: Neem het formaat dat we hierboven hebben gezien.

Code:

 Sub VBA_Val2 () Dim A als variant A = Val ("") MsgBox A End Sub 

Stap 2: Laten we in de haakjes van de Val-functie wat tekst en cijfers zetten. Laten we “AB 11” overwegen zoals hieronder getoond.

Code:

 Sub VBA_Val2 () Dim A als variant A = Val ("AB 11") MsgBox A End Sub 

Stap 3: voer het nu uit. We zullen zien dat in het berichtvenster alleen 0 verschijnt. Wat betekent dat VBA Val de cijfers na tekens of tekst niet in aanmerking neemt.

Voordelen van VBA Val

  • Het kan worden gebruikt in de gegevens die worden geëxtraheerd uit een soort tool of database. Die bestaat uit verschillende soorten tekens samen met cijfers.
  • Het is vrij eenvoudig om nummers te scheiden door VBA Val in alle soorten gegevens te gebruiken.
  • We kunnen elk formaat kiezen dat uit een cijfer of een cijferreeks bestaat om het van andere tekens te scheiden.

Dingen om te onthouden

  • Het houdt ook rekening met de decimalen.
  • Sla het bestand op als Marco Excel inschakelen zodat geschreven behouden blijft.
  • Als dit proces in VBA wordt vastgelegd, zal de verkregen code veel langer zijn dan de voorbeelden die we hierboven hebben gezien.
  • Er is geen alternatieve invoegfunctie beschikbaar in Excel die hetzelfde resultaat geeft als VBA Val .

Aanbevolen artikelen

Dit is een handleiding voor VBA Val. Hier bespreken we hoe u Val in VBA Excel kunt krijgen, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA InStr uitgelegd met voorbeelden
  2. VBA Geheel gegevenstype
  3. Hoe cel te selecteren met behulp van VBA-code?
  4. Transponeer een bereik in VBA

Categorie: