29. marts 2004 - 14:45Der er
9 kommentarer og 1 løsning
Opgave i VBA
Jeg er ved at lave en opgave I VBA, men jeg kan simpelthen ikke finde ud af opgave 1. her er et hyperlink til Excel filen http://www.sam.sdu.dk/undervis/85435.F04/obli1_2004/obli_2004.html Jeg håber du kan hjælpe mig,enten ved at give mig nogle stikord men helst ved at vise mig hvordan koderne skal se ud. Mvh. Jakor
Er det ikke bare at gøre hvad der står... Tjek linie for linie, og
er de første 3 cifre i nummeret = 801 ændres det til 8000,8001,8002,...,8006 er de første 3 cifre i nummeret = 802 ændres det til 9000,9001,9002,...,9045 er de første 3 cifre i nummeret = 803 ændres det til 10000,10001,10002,...,10024
Nu har jeg ikke set regnearket, men lav en løkke der looper over alle rækkerne, tjekker på de første 3 cifre og ændrer som vist...
Pseudokode:
Dim i as Long Dim j as Long Dim k as Long Dim l as Long
For i = 1 to AntalRækker if førsteTreTegn = 801 then Nummer ændres til 8000+j j=j+1 end if if førsteTreTegn = 802 then Nummer ændres til 9000+k k=k+1 end if if førsteTreTegn = 803 then Nummer ændres til 10000+l l=l+1 end if Next i
Det kan gøres med lidt færre variabler, hvis du tænker dig om. Det gode ved koden er, at den virker, selvom der fx. nu skulle være flere - eller færre - end lige præcis 46 "Plancher og tekster - Sejlsport"
Sub test2() Dim ws As Worksheet Dim rKat As Range Dim lLastRow As Long Dim rCell As Range Set ws = Sheets("old_database") 'find sidste række med data lLastRow = ws.Range("B" & Rows.Count).End(xlUp).Row 'sæt søgeområde = B2 til sidste række i kolonne B Set rKat = ws.Range("B2:B" & lLastRow) 'for hver celle i området For Each rCell In rKat 'hvis kategorien er 80, så læg 7 til 3. ciffer, gang med 1000 'og læg cifrene fra og med 4 karakter til If Left(rCell, 2) = "80" Then _ rCell.Offset(0, 11) = ((CLng(Mid(rCell, 3, 1)) + 7) * 1000) + CLng(Mid(rCell, 4)) Next End Sub
Jeg vil meget gerne give bak pointene, men jeg ved ikke lige hvordan systemet virker. jeg har afvist dit svar i håb om at det så automatisk er bak der får pointene.
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.