/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Hjælp til kode.
Fra : Kristian


Dato : 13-02-05 03:26

Jeg har denne kode der skal tjekke tallene i 20 forskellige celler næste
celle E11 E12 osv


If Range("E10").Value <= 10 Then
Range("E10").Select
Selection.Font.ColorIndex = 3
End If
If Range("E10").Value > 10 Then
Range("E10").Select
Selection.Font.ColorIndex = 4


Kan jeg ikke på en eller andet måde undgå at skrive koden 20gange, ved at
gøre sådan en den selv sætter værdien E10 op med 1, dog kun indtil alle
felterene er kørt igennem ?

skriv gerne den præcise kode

Mange tak!



 
 
Reidar Kind (14-02-2005)
Kommentar
Fra : Reidar Kind


Dato : 14-02-05 17:30

> If Range("E10").Value <= 10 Then
> Range("E10").Select
> Selection.Font.ColorIndex = 3
> End If
> If Range("E10").Value > 10 Then
> Range("E10").Select
> Selection.Font.ColorIndex = 4
>
>
> Kan jeg ikke på en eller andet måde undgå at skrive koden 20gange, ved at
> gøre sådan en den selv sætter værdien E10 op med 1, dog kun indtil alle
> felterene er kørt igennem ?
>
> skriv gerne den præcise kode
>
Har ikke testet koden, men du skjønner det sikkert hvis det skulle være noen
feil:

Dim Felt as Range
Dim Feltliste as Range
Set Feltliste = Range("E10:E20")

For Each Felt In Feltliste
Felt.Select
If Felt.Value <= 10 Then
Selection.Font.ColorIndex = 3
Else If Felt.Value > 10 Then
Selection.Font.ColorIndex = 4
endif
Next Felt

mvh
Reidar



Reidar Kind (14-02-2005)
Kommentar
Fra : Reidar Kind


Dato : 14-02-05 17:37


"Reidar Kind" <reidar@kind.no> wrote in message
news:Rl4Qd.1494$4c.186434@juliett.dax.net...
>> If Range("E10").Value <= 10 Then
>> Range("E10").Select
>> Selection.Font.ColorIndex = 3
>> End If
>> If Range("E10").Value > 10 Then
>> Range("E10").Select
>> Selection.Font.ColorIndex = 4
>>
>>
>> Kan jeg ikke på en eller andet måde undgå at skrive koden 20gange, ved at
>> gøre sådan en den selv sætter værdien E10 op med 1, dog kun indtil alle
>> felterene er kørt igennem ?
>>
>> skriv gerne den præcise kode
>>
> Har ikke testet koden, men du skjønner det sikkert hvis det skulle være
> noen feil:
>
> Dim Felt as Range
> Dim Feltliste as Range
> Set Feltliste = Range("E10:E20")
>
> For Each Felt In Feltliste
> Felt.Select
> If Felt.Value <= 10 Then
> Selection.Font.ColorIndex = 3
> Else If Felt.Value > 10 Then
> Selection.Font.ColorIndex = 4
> endif
> Next Felt
>
Forøvrig bør du likegjerne kun bruke
Felt.Font.ColorIndex = 3
i stedet for
Felt.Select
Selection.Font.ColorIndex=3
....
I tillegg er det ikke gjort noen test på om det er tall eller tekst som
ligger i feltene.. Det bør vel kanskje også gjøres. Det gir jo liten mening
å teste om f.eks "En lang tekst som beskriver et eller annet" > 10... Hvis
du skjønner.

Bare noen tanker, men det var jo selve loop-en du lurte på.

-Reidar



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste