28. august 2002 - 08:15Der er
25 kommentarer og 1 løsning
Udskiftning af cifre
Hej. Har et regneark med ca. 8000 linier. I kolonne A står der et 8 cifret produktnr. der er en kombinatione af tal og bogstaver. Jeg skal have erstattet det sidste ciffer, altså nr. 8. med at andet. Der hvor der før stod 1 skal der stå G, der hvor der stod 2 skal der stå H, 3->I, 4->J, 7->K, 8->L. Hvordan gør man nemmest det ? Jeg har prøvet med en makro der virker, men det er lidt besværligt. Gerne et hurtigt svar. :-)
der er ikke tale om en løkke, men derimod en formel.
Formlen tilføjes i en ny kolonne, og cellereferencen A1 rettes til den celle, hvor du har dit produktnummer. Herefter kopierer du formlen ned i dit regneark. Og vupti, så skulle du gerne have dit nye produktnummer *S*
For Each rCell In Range("A1").CurrentRegion.Columns(1).Cells Select Case Right(rCell.Value, 1) Case 1 rCell.Value = Replace(rCell.Value, 1, "G") Case 2 rCell.Value = Replace(rCell.Value, 2, "H") Case 3 rCell.Value = Replace(rCell.Value, 3, "I") Case 4 rCell.Value = Replace(rCell.Value, 4, "J") Case 7 rCell.Value = Replace(rCell.Value, 7, "K") Case 8 rCell.Value = Replace(rCell.Value, 8, "L") End Select Next rCell Set rCell = Nothing End Sub
For Each rCell In Range("A1").CurrentRegion.Columns(1).Cells If Len(rCell.Value) = 8 Then Select Case Right(rCell.Value, 1) Case 1 rCell.Value = Replace(rCell.Value, 1, "G") Case 2 rCell.Value = Replace(rCell.Value, 2, "H") Case 3 rCell.Value = Replace(rCell.Value, 3, "I") Case 4 rCell.Value = Replace(rCell.Value, 4, "J") Case 7 rCell.Value = Replace(rCell.Value, 7, "K") Case 8 rCell.Value = Replace(rCell.Value, 8, "L") End Select End If Next rCell Set rCell = Nothing End Sub
hmmm.... man skal ikke være væk i mange minutter, før det går helt grassat ;-)
Men for at svare på dit spørgsmål fra kl. 08.36.34, så er svaret ja. Hvis erstattes af IF, Højre af Right og venstre af Left. Og så vidt jeg hsuker, skal semikolon ændres til komma....
For Each rCell In Range("A1").CurrentRegion.Columns(1).Cells If Len(rCell.Value) = 8 Then Select Case Right(rCell.Value, 1) Case 1 rCell.Value = Left(rCell.Value, 7) & "G" Case 2 rCell.Value = Left(rCell.Value, 7) & "H" Case 3 rCell.Value = Left(rCell.Value, 7) & "I" Case 4 rCell.Value = Left(rCell.Value, 7) & "J" Case 7 rCell.Value = Left(rCell.Value, 7) & "K" Case 8 rCell.Value = Left(rCell.Value, 7) & "L" End Select End If Next rCell Set rCell = Nothing End Sub
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.