Avatar billede alicevv Nybegynder
30. januar 2003 - 18:13 Der er 10 kommentarer og
1 løsning

Omdøb nr automatisk

Jeg har på mit arbejde et regne Ark med ca. 1000 rækker som jævnlig bliver opdateret:

I kolonne A står der et nr., i B, C og D står der tekst, i E står der tal og tekst og i kolonne F står der en dato.

En Række kan se ud som følger:

765434    dhdhdhdhd  GHGH  fdfdf    3JJ
585858    dhdhdhdhd  GHGH  fdfdf    2hh
445567    dhdhdhdhd  GHGH  fdfdf    5gg
568786    dhdhdhdhd  GHGH  fdfdf    0df

I kolonne E kan der være mellem 3 og 12 karakter bestående af tal og bogstaver.

Jeg skal efter hver opdatering have sorteret/omdøbt nr. i kolonne A, det gør jeg i dag manuelt hvilket er et stort og træls arbejde. Nu har nogen fortalt mig, at det kan en Makro gøre, nu er jeg igen prof. i Excel og slet i at indspille Makro som jeg har forsøgt, det kunne slet ikke virke. Når jeg er færdig med at sorter/omdøbe ser resultatet ud som følger

nb765434    dhdhdhdhd  GHGH  fdfdf    3JJ
gb585858    dhdhdhdhd  GHGH  fdfdf    2hh
sn445567    dhdhdhdhd  GHGH  fdfdf    5gg
br568786    dhdhdhdhd  GHGH  fdfdf    0df

forklaring:
”nb” forand nr. knytter sig altid til 3 tallet i kolonne E
”gb” forand nr. knytter sig altid til 2 tallet i kolonne E
”sn” forand nr. knytter sig altid til 5 tallet i kolonne E
”br” forand nr. knytter sig altid til 0 tallet i kolonne E

Er der nogen som kan hjælpe.

alice
30. januar 2003 - 18:22 #1
Hvilke kriterier sorterer du efter??
Omdøbningen består den kun af ,at du indsætter de 2 bogstaver før kolonnens oprindelige indhold, og kan der være tale om andre bogstavkombinationer end nævnte?
Avatar billede alicevv Nybegynder
30. januar 2003 - 18:32 #2
Jeg sorter altid så:
”nb” forand nr. knytter sig altid til 3 tallet i kolonne E
”gb” forand nr. knytter sig altid til 2 tallet i kolonne E
”sn” forand nr. knytter sig altid til 5 tallet i kolonne E
”br” forand nr. knytter sig altid til 0 tallet i kolonne E

Der kan IKKE være tale om andre bogstavkombinationer end nævnte!!!
Avatar billede jespernaur Nybegynder
30. januar 2003 - 19:48 #3
Her er en makro, der kan løse dit problem. Du skal indlægge dine data i "Sheet1" kolonne A til E, og skrive antallet af rækker i J1. Når du kører makroen vil den i nedenstående udgave skrive resultaterne i kolonne G (så kan du kontrollere, at det er korrekt). Det kan dog nemt rettes til kolonne A ved at rette 7 til 1 i tredienederste linie.

Sub Button1_Click()
  Dim r_antal As Integer
  Dim r As Integer
  Dim e_val As String
  Dim a_val As String
  Dim cif1 As String
  Dim prefix As String

  'MsgBox "Sorter start"

  ' Hent antal rækker fra J1
  r_antal = ActiveWorkbook.Worksheets("Sheet1").Cells(1, 10).Value
 
  'MsgBox "Sorter end rows = <" & r_antal & ">"
  For r = 1 To r_antal
      e_val = ActiveWorkbook.Worksheets("Sheet1").Cells(r, 5).Value
      a_val = ActiveWorkbook.Worksheets("Sheet1").Cells(r, 1).Value
      'MsgBox "e_val " & r & " = " & e_val
      cif1 = Left(e_val, 1)
      Select Case cif1
      Case "0"
        prefix = "br"
      Case "2"
        prefix = "gb"
      Case "3"
        prefix = "nb"
      Case "5"
        prefix = "sn"
      Case Else
        prefix = ""
      End Select
      'MsgBox "cif1 " & cif1 & " prefix " & prefix
      a_val = prefix & a_val
     
      ' Gem resultat i søjle G (=7)
      ActiveWorkbook.Worksheets("Sheet1").Cells(r, 7).Value = a_val
  Next
End Sub
Avatar billede bak Forsker
30. januar 2003 - 20:16 #4
Du kunne også indsætte denne formel i en kolonne ved siden af de andre:
=VÆLG(VÆRDI(VENSTRE(E1;1))+1;"br";"";"gb";"nb";"";"sn") & A1
og kopiere den ned til bunden af dine data.
Dette vil give dig de rigtige bogstaver foran tallene.
Når du har gjort dette, kopierer du hele kolonnen, stiller dig i A1, vælger Indsæt Speciel og klikker på "Værdier"
Avatar billede alicevv Nybegynder
30. januar 2003 - 20:30 #5
Et lidt dumt spørgsmål Sheet1 er det det samme som Ark1? Jeg har nu døbt Ark1 om til Sheet1.
Du skriver: "skrive antallet af rækker i J1" skal det forstås sådan, at hvis der er 1500 rækker (nr) skal jeg skrive 1500 i J1?
Avatar billede jespernaur Nybegynder
30. januar 2003 - 20:34 #6
Grunden til at jeg har skrevet "Sheet1" er at min Excel er engelsk. Det er udmærket hvad du har gjort.

Og korrekt: Hvis dine data indeholder 1500 rækker, skal du skrive 1500 i J1

Mvh
Jesper Naur
Avatar billede alicevv Nybegynder
30. januar 2003 - 20:41 #7
Nu viker Makroen, jeg har prøvet med blot 17 rækker OG DET GIK HURTIGT, -men det skete blot det at kolonne G blev en KOPI af kolonne A, der kom igen bogstaver foran nr. (br, gb, nb eller sn).!?
Avatar billede alicevv Nybegynder
30. januar 2003 - 20:42 #8
Der skal stå: Nu virker Makroen.
Avatar billede jespernaur Nybegynder
30. januar 2003 - 20:58 #9
Kan du vise her hvad der stod i kolonne E?
Avatar billede alicevv Nybegynder
30. januar 2003 - 21:07 #10
Jesper Naur, Nu virker din Makro perfekt både med 7 tallet og 1 tallet, det var mig som havde flyttet eller fået en kolonne for meget med. Tak for den hurtige hjælp.

BAK, jeg har prøvet at kopier følgende linie ned som du skriver, men i stedet for linien kommer der de to forbogstaver plus nr. til at stå i cellen, og når jeg stopper ved række 18 går jeg til A1, men Indsæt Speciel er ikke aktiv??

Kan dit forslag også virke som en Makro ved f.eks 1000 rækker og 1500 rækker.
Avatar billede alicevv Nybegynder
30. januar 2003 - 21:08 #11
Beklager Jesper Naur du skal også have point.
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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