/ Forside / Teknologi / Administrative / MS-Office / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
tekst/tal word/excell
Fra : cykelsmeden


Dato : 08-05-04 12:49

Jeg har til excell fra en asciifil importeret nogle data, indeholdende bl.a.
personnumre.
kollonnen med personnumre måtte jeg markere og definere som tekstfelt, men
måtte efterfølgende indskrive foranstillede 0 for månederne 1-9.
De felter som blev korrigeret, fik en lille trekantmarkering i øverste
venstre hjørne.
Når jeg bruger filen som flettegtundlag i word, bliver de IKKE rettede
felter konverteret til et scientific nummer "1234. E03"
Hvordan får jeg kollonnen konverteret til tekst på en måde (med trekanten)
så word forstår det, uden manuelt at skulle i hvert felt?

finn
nb office = 2003/XP



 
 
Jørgen Bondesen (08-05-2004)
Kommentar
Fra : Jørgen Bondesen


Dato : 08-05-04 19:46

Hej Finn

Jeg har IKKE off 2003, så jeg kan tage fejl.

Når du importerer i Excel, skulle jeg mene at du på et tidspunkt, sidste
trin, kan markerer "kolonne" nederst i dialogboksen og afmærke den som
tekst, øverst til højre.
Dette gøres bl.a. for at få foranstillet 0 (nul) med. Der vil også opstå
problemer hvis det importerede tal er på mere end 15 cifre.
Sådan er det i Excel XP.
Mig bekendt starter er personnummner med dag og du skriver måned?

Prøv at "start" tallet i en celle med apostrof: '0112641234

Lad mig få en tilbagemelding, hvis du ønsker apostrof, må vi se om vi kan
fixe en makro til dig.

Med venlig hilsen
Jørgen Bondesen


"cykelsmeden" <cykelsmeden@SLETacnord.dk> wrote in message
news:409cc92a$0$219$edfadb0f@dread12.news.tele.dk...
> Jeg har til excell fra en asciifil importeret nogle data, indeholdende
bl.a.
> personnumre.
> kollonnen med personnumre måtte jeg markere og definere som tekstfelt, men
> måtte efterfølgende indskrive foranstillede 0 for månederne 1-9.
> De felter som blev korrigeret, fik en lille trekantmarkering i øverste
> venstre hjørne.
> Når jeg bruger filen som flettegtundlag i word, bliver de IKKE rettede
> felter konverteret til et scientific nummer "1234. E03"
> Hvordan får jeg kollonnen konverteret til tekst på en måde (med trekanten)
> så word forstår det, uden manuelt at skulle i hvert felt?
>
> finn
> nb office = 2003/XP
>
>



Jan Kronsell (08-05-2004)
Kommentar
Fra : Jan Kronsell


Dato : 08-05-04 21:59


"cykelsmeden" <cykelsmeden@SLETacnord.dk> skrev i en meddelelse
news:409cc92a$0$219$edfadb0f@dread12.news.tele.dk...
> Jeg har til excell fra en asciifil importeret nogle data, indeholdende
bl.a.
> personnumre.
> kollonnen med personnumre måtte jeg markere og definere som tekstfelt, men
> måtte efterfølgende indskrive foranstillede 0 for månederne 1-9.
> De felter som blev korrigeret, fik en lille trekantmarkering i øverste
> venstre hjørne.
> Når jeg bruger filen som flettegtundlag i word, bliver de IKKE rettede
> felter konverteret til et scientific nummer "1234. E03"
> Hvordan får jeg kollonnen konverteret til tekst på en måde (med trekanten)
> så word forstår det, uden manuelt at skulle i hvert felt?
>
> finn
> nb office = 2003/XP
>
Du kan prøve at køre denne makro, og se om den ikke løser problemet. (Prøv
altid på en kopi af arket først).

Sub TilTekst()
For Each c In ActiveSheet.Range("A1:A500")
c.Value = "'" & CStr(c.Value)
Next c
End Sub

Ret Range til det område, hvor du har dine personnumre.

Jan



Jørgen Bondesen (09-05-2004)
Kommentar
Fra : Jørgen Bondesen


Dato : 09-05-04 16:34

Hej Finn

Her er en lidt anden indfaldsvinkel.

'----------------------------------------------------------
' Module : Module1
' DateTime : 09-05-2004 17:25
' Author : Jørgen Bondesen
' Purpose : Correct CPR No 2 txt
'----------------------------------------------------------

Const CPR_NR_VÆGTE As String = "4327654321"
Const hil As String = "Hilsen fra JB"
Option Explicit

Sub CorrectCprNo()
'CPRNO: ddmmåå1234 = 10 cifre
'CPRNO: ddmmåå-1234 = 11 cifre
Dim LenCPRNO As String
LenCPRNO = "10"

Dim rSel As Range
Set rSel = Selection
rSel.Select

Dim rRange As Range
On Error Resume Next
Set rRange = Application.InputBox("Vælg område med CprNO.", _
hil, rSel.Address, , , , , 8)
If Err <> 0 Then Exit Sub
On Error GoTo 0

Application.ScreenUpdating = False

Dim sh As String
sh = rRange.Parent.Name

Dim shadr As String
shadr = rRange.Address

Dim firstcell As String
firstcell = InStr(1, shadr, ":", vbTextCompare)

If firstcell = "0" Then
Dim celladr As String
celladr = shadr
Else
celladr = Left(shadr, firstcell - 1)
End If

Dim c As Variant
For Each c In rRange

'Kontrol len = 10 or 11 samt ingen =
If Len(c.Value) <> LenCPRNO Or c.HasFormula = True Then
Application.Goto Reference:=Worksheets(sh).Range(c.Address)
Application.ScreenUpdating = True
MsgBox "I valgte celle er CPRNO ikke på " & LenCPRNO _
& " cifre, eller celle indeholder =." & vbCr _
& vbCr & "Korriger, og kør makro igen.", vbCritical, hil
Exit Sub
End If

'CPRNo må kun indeholde tal: 0 til 9 og bindestreg (-)
If IsNumeric(FjernTegn(c.Value, "-")) <> True Then
Application.Goto Reference:=Worksheets(sh).Range(c.Address)
Application.ScreenUpdating = True
MsgBox "I valgte celle er der IKKE et CPRNO." _
& vbCr & vbCr & "Korriger, og kør makro igen.", _
vbCritical, hil
Exit Sub
End If

If CprNr(c.Value) = "Fejl!" Then
Application.Goto Reference:=Worksheets(sh).Range(c.Address)
Application.ScreenUpdating = True
MsgBox "I valgte celle er der IKKE et CPRNO." _
& vbCr & vbCr & "Korriger, og kør makro igen.", _
vbCritical, hil
Exit Sub
End If

c.Value = "'" & CStr(c.Value)
Next c

'Første celle i Range
Application.Goto Reference:=Worksheets(sh).Range(celladr)

Set rRange = Nothing
Set rSel = Nothing

Application.ScreenUpdating = True
End Sub


Function CprNr(Nummer As String) As String
CprNr = CheckNummer(Nummer, CPR_NR_VÆGTE)
End Function


Function CheckNummer(Nummer As String, Vægte As String) As String
'leo.heuser@get2net.dk, april 2000/maj 2001
Dim Counter As Long
Dim Checksum As Long
CheckNummer = "Fejl!"
'Nummer = FjernTegn(Nummer, " ")
Nummer = FjernTegn(Nummer, "-")
'Nummer = FjernTegn(Nummer, ".")
If Len(Nummer) = Len(Vægte) Then
For Counter = 1 To Len(Vægte)
Checksum = Checksum + Mid$(Nummer, Counter, 1) * Mid$(Vægte, Counter,
1)
Next Counter
If Checksum Mod 11 = 0 Then CheckNummer = "I orden!"
End If
End Function


Function FjernTegn(Streng As String, Tegn As String) As String
Dim Dummy As Long
While InStr(Streng, Tegn)
Dummy = InStr(Streng, Tegn)
Streng = Left(Streng, Dummy - 1) & Mid$(Streng, Dummy + 1)
Wend
FjernTegn = Streng
End Function

'***************************

Med venlig hilsen
Jørgen Bondesen



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste