01. november 2002 - 10:01Der er
23 kommentarer og 1 løsning
Hurtigt ændre alle værdi i et regneark fra DKK til Euro
Hvordan kan man nemmest omregne alle de viste værdier i en Excel mappe til værdier i fx Euro? Der er flere ark som er sammenkædet, og indputværdierne ligger desværre spredt rundt omkring på de forskellige ark.
Der er desværre ikke kun et resultatark, men mange. Jeg forstiller mig mere en funktion/kopi hvor man via fx indsæt-speciel-divider kan få kopieret alle ark og samtidig omregnet.
Public Sub DKKtoEURO() Dim rCell As Range For Each rCell In ActiveSheet.UsedRange.Cells If IsNumeric(rCell.Value) And Not (rCell.Value = 0) Then rCell.Value = rCell.Value * 7.77 End If Next rCell End Sub
Public Sub DKKtoEURO() Dim rCell As Range For Each rCell In ActiveSheet.UsedRange.Cells If IsNumeric(rCell.Value) And Not (rCell.Value = 0) And _ Not (rCell.HasFormula) Then rCell.Value = rCell.Value * 7.77 End If Next rCell End Sub
Ja - så skal jeg jo læse spørgsmålet - du skal jo igennem alle arkene
Public Sub DKKtoEURO() Dim rCell As Range Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets For Each rCell In wks.UsedRange.Cells If IsNumeric(rCell.Value) And Not (rCell.Value = 0) And _ Not (rCell.HasFormula) Then rCell.Value = rCell.Value * 7.77 End If Next rCell Next wks
IsNumeric - sikre at der kun køres på celle med værdier NOT = 0 - sikre at der ikke divideres med nul (hvis du skulle den anden vej) NOT .HasFormula - sikre at der ikke køres på celler med formler
Her vist på en let læselig måde
Public Sub DKKtoEURO() Dim rCell As Range Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets For Each rCell In wks.UsedRange.Cells With rCell If IsNumeric(.Value) And _ Not (.Value = 0) And _ Not (.HasFormula) Then .Value = .Value * 7.77 End If End With Next rCell Next wks
Jeg får ingen fejl her. Når den fejler kan du trykke Debug. Tryk så Alt+G og i det vindue der fremkommer skriver du ? rCell.Address og trykker enter - så får du den celle den fejler i - hvad har du i den celle ?
Jeg skulle mene, at du kan få denne her til at virke
Public Sub DKKtoEURO() Dim rCell As Range Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets For Each rCell In wks.UsedRange.Cells With rCell If IsNumeric(.Value) Then If Not (.Value = 0) Then If Not (.HasFormula) Then .Value = .Value * 7.77 End If End If End If End With Next rCell Next wks
Ja med den titel kan det da kun blive en god week-end *GG* ilm
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.