lineriber Praktikant
14. januar 2013 - 11:16 Der er 8 kommentarer og
1 løsning

VBA til "konverter til tal"

Hej Eksperter

Jeg bruger excel 2007 engelsk version.

Jeg eksporterer ofte nogle data fra et ERP system over i excel. Nogle af dataene bliver i excel formateret som tekst, men jeg vil gerne have dem som tal. Det kan fx være et kontonr. i kolonne A. Men der er dog ikke altid en værdi i alle celler i kolonne A.
Jeg vil gerne nemt kunne formatere værdierne i kolonne A fra tekst til tal. Her kan man så markere fra øverste værdi (må ikke være en tom celle) og ned til nederste værdi -> scrolle tilbage til toppen af listen -> trykke på det lille ikon med et udråbstegn i til venstre for den øverste markerede celle -> og vælge "Convert to numbers". Og det virker helt som det skal.
Det er bare en bøvlet process når listen med data er 700.000 rækker og der er mange tomme celler ind imellem.
Man kan nemlig ikke markere hele kolonnen, eller bare fra A1:A700.000, hvis ikke A1 indeholder en værdi - funktionen "Convert to numbers" er simpelthen ikke mulig at vælge så!!
Jeg kan heller ikke finde en genvejstast til at komme ind i ikonen med det lille udråbstegn, eller for den sags skyld en genvejstast direkte til "Convert to numbers" funktionen.

Kan man på en eller anden måde løse dette med en VBA kode, hvor man først markere fx hele kolonne A, og derefter afspiller en VBA kode der konverterer alt tekst til tal.
VBA'en skal kunne klarer at fx A1 er tom, og at der er flere tomme celler igennem hele kolonne.

Eller kan man løse det med andet en VBA? Her skal så siges at det ikke er en mulighed at oprette en ny kolonne og gange celle Ax med 1 for at få konverteret til tal! Og løsningen skal være med mindst mulige klik!

Glæder mig til at høre jeres forslag.

Mvh
Line Riber
finb Forsker
14. januar 2013 - 13:06 #1
Har ikke Excel her, efter hukommelsen:

for each cellA in range("a:a")
  if cellA <> "" then cellA = application.value(cellA)
next cellA
lineriber Praktikant
15. januar 2013 - 08:18 #2
Men her angiver du direkte i VBA'en, hvilket områd du vil ændre til værdier.
Kan du skrive den, så det er det område jeg selv har markeret (kolonne eller anden range) som bliver brugt i koden?
somalpe Nybegynder
17. januar 2013 - 13:40 #3
Prøv evt med den her:

Sub Macro()
  Dim rng As Range
  Set rng = Selection
  For Each Celle In Selection
    If Celle <> "" Then
      Celle.NumberFormat = 0
    End If
  Next
End Sub
lineriber Praktikant
18. januar 2013 - 10:17 #4
Hej Somaple

Der sker ingenting når jeg kører din VBA, eller dvs. teksten bliver ihvertfald ikke konverteret til tal.....
somalpe Nybegynder
18. januar 2013 - 10:24 #5
Prøv at denne version:

Sub Macro()
  Dim rng As Range
  Set rng = Selection
  For Each Celle In Selection
    If Celle <> "" Then
      Celle.NumberFormat = 0
      Celle.Value = Celle.Value * 1
    End If
  Next
End Sub

eneste forskel er at linien "Celle.Value = Celle.Value * 1" er tilføjet.

Virker her, men jeg kører Office 2010.....
lineriber Praktikant
18. januar 2013 - 11:19 #6
Til somalpe:
Den nye virker hvis jeg markerer fx et område der hedder D2:D10, men ikke hvis jeg markerer hele kolonne.
Den virker heller ikke hvis der i et af felterne rent faktisk står en rigtig tekst, fx kolonnens overskrift.
Vil den kunne skrives, så den virker på en hel kolonne incl et felt med en overskrift der jo er tekst?
somalpe Nybegynder
18. januar 2013 - 11:45 #7
Man kan naturligvis ikke gane et bogstav med 1 :) Der skal lige et lille check ind der checker om det nu også er et tal der står i feltet inden det bliver ganget med 1. Dette skulle gerne virke:
Sub Macro()
  Dim rng As Range
  Set rng = Selection
  For Each celle In Selection
    If celle <> "" Then
      celle.NumberFormat = 0
      If IsNumeric(celle.Value) Then
        celle.Value = celle.Value * 1
      End If
    End If
  Next
End Sub

Ved mig virker den fint hvis jeg markerer er hel kolonne.
lineriber Praktikant
18. januar 2013 - 12:14 #8
Så virker det bare perfekt :-)

Smider du et svar somalpe?
Tusinde tak for hjælpen og god weekend.
somalpe Nybegynder
18. januar 2013 - 12:15 #9
God weekend til dig også :)
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Computerworld
Apples nye iOS 11 skaber store batteriproblemer på iPhone og iPad: Disse fire ting kan du gøre ved det
Apples nye iOS 11 skaber batteriproblemer for mange brugere, der oplever, at iPhonen pludselig ikke længere holder til en hel dag på jobbet. Du kan dog selv minimere problemet med disse fire lette trin.
CIO
Bare glem alle advarsler og alarmklokker: ”Din smartphone får ikke virus”
Sikkerhedsfirmaer advarer jævnligt om, at almindelige menneskers smartphone står pivåbne for virus og malware. Men ifølge en kendt sikkerhedsekspert findes det stort set ikke i Danmark.
Comon
Oversigt: Her er de bedste Android-smartphones der kan købes i Danmark
Det vrimler med spændende Android-smartphones på markedet. Vi har samlet en oversigt over de bedste Android-telefoner, du kan købe herhjemme netop nu.
Job & Karriere
Se listen: Disse it-folk bliver ansat på stedet - cheferne skriger efter helt bestemte it-kompetencer
Der er en markant mangel på it-folk med helt bestemte kompetencer samtidig med, at it-cheferne er i gang med at øge bemandingen i it-organisationerne. Se listen med de mest efterspurgte it-kompetencer netop nu.
White paper
Undersøgelse: Digital succes kræver opgør med statisk it-infrastruktur - men det er ikke uden problemer
Det digitale kapløb er i fuld sving i erhvervslivet, og mange toneangivende virksomheder søger den nødvendige fleksibilitet ved at skifte til tredieparts-datacentre og hybrid cloud-infrastruktur. Det viser en stor undersøgelse blandt 752 europæiske virksomheder, som analysehuset IDC har foretaget for Interxion. Men flere virksomheder har samtidig betydelige bekymringer i forhold til stabilitet og sikkerhed i sådan en grad, at det hæmmer de digitale ambitioner. Læs i dette whitepaper om undersøgelsens resultater og nogle af svarene på de udfordringer, digitale virksomheder aktuelt står over for. 24 sider på engelsk.