Avatar billede Greenseeker Praktikant
29. januar 2007 - 15:49 Der er 18 kommentarer og
1 løsning

Liste over benyttede værdier 2

I relation til kabbak´s svar i:
http://www.eksperten.dk/spm/759153

Det virker ikke som ønsket alligevel. Listen fra E24-E523 bliver udfyldt løbende, og listen fra F1-F15 skal opdatere sig selv samtidig. Det kan jeg ikke få den til nu...? Er det bare mig, eller...? :o/
Avatar billede kabbak Professor
29. januar 2007 - 17:09 #1
Optatag en makro mens du laver listen, kald så makroen ved opdatering af arket.
Avatar billede kabbak Professor
29. januar 2007 - 17:17 #2
Ok du er nød til at sætte en overkrift i E23, samme overskrift sætter di i F1.

kør så denne makro

Sub OpdaterListe()
    Range("E23:E523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "F1"), Unique:=True
End Sub
Avatar billede Greenseeker Praktikant
29. januar 2007 - 17:25 #3
Ja, jeg fandt ud af det med overskriften... :o)

Er jeg nødt til at opdatere arket via den makro hver gang der kommer en ny værdi i kolonne E, eller sker det automatisk? Jeg vil gerne have at listen opdateres automatisk... :o/
Avatar billede kabbak Professor
29. januar 2007 - 17:35 #4
Hvordan opdaterer du, taster du selv ind i cellerne E23:E523 ??
Avatar billede Greenseeker Praktikant
29. januar 2007 - 17:39 #5
Ja, en værdi ad gangen. Kan man ikke gøre det ved en eller anden opslags-funktion? Sådan så F1 viser den første værdi, F2 viser den næste værdi, der er forskellig fra F1 osv...?
Avatar billede kabbak Professor
29. januar 2007 - 17:47 #6
Jeg mener  kun at det er filter der kan det.

Sæt denne kode ind i arkets modul, så opdateres den automatisk.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("E23:E523")) Is Nothing Then
        Range("E23:E523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
                                                                            "F1"), Unique:=True
    End If
End Sub
Avatar billede Greenseeker Praktikant
29. januar 2007 - 17:50 #7
Ok. Jeg har desværre ikke tid nu, prøver det senere, og skriver igen... Tak for hjælpen so far! :o)
Avatar billede Greenseeker Praktikant
29. januar 2007 - 18:18 #8
Nåede lige at prøve.

Når jeg indtaster en ny værdi i E-kolonnen skriver den i modulet:

"Compile error:
Ambiguous name detected: Worksheet_Change"

Og listen opdaterer ikke...
Avatar billede kabbak Professor
29. januar 2007 - 19:47 #9
Det vil sige at du har makroen
Private Sub Worksheet_Change(ByVal Target As Range)
i forvejen.

Find den og se om du ikke kan sætte koden ind

If Not Intersect(Target, Range("E23:E523")) Is Nothing Then
        Range("E23:E523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
                                                                            "F1"), Unique:=True


der og slet så den anden
Avatar billede Greenseeker Praktikant
30. januar 2007 - 10:19 #10
Jeg har en er hedder:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

er det den?
Avatar billede Greenseeker Praktikant
30. januar 2007 - 10:31 #11
Jeg skal faktisk bruge den her funktion 3 gange. Fra E22-E523(+overskrift) til N1-N17, fra F22-F523 til O1-O17 og fra I22-I523 til P1-P17. Her er en kopi af mit modul fra dette ark. Jeg har forsøgt at sætte koden x3 ind i modulet under:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Men det virker ikke... Måske du vil kigge på det? :o/

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
For t = 10 To 14
x = Cells(524, 11).End(xlUp).Row + 1
If x < 25 Then x = 25
If Cells(t, 11) <> "" Then
y = Range("C" & t & ":L" & t).Value
Range("C" & x & ":L" & x) = y
Cells(x, 3).Value = CDate(Cells(x, 3).Value)
Range("C" & t & ":L" & t).ClearContents
End If
Next
x = Cells(524, 11).End(xlUp).Row
Range("C25:L" & x).Select
Selection.Sort Key1:=Range("C25"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Range("C10:L14").Select
Selection.Sort Key1:=Range("C10"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("C10").Select

For t = 10 To 14 Step 2
Range("C" & t & ":L" & t).Interior.ColorIndex = 24
Range("C" & t + 1 & ":L" & t + 1).Interior.ColorIndex = xlNone
Next
Range("L10").Formula = "=if(K10="""","""",if(K10=""Loss"",0,if(K10=""Void"",J10,J10*H10)))"
Range("L11").Formula = "=if(K11="""","""",if(K11=""Loss"",0,if(K11=""Void"",J11,J11*H11)))"
Range("L12").Formula = "=if(K12="""","""",if(K12=""Loss"",0,if(K12=""Void"",J12,J12*H12)))"
Range("L13").Formula = "=if(K13="""","""",if(K13=""Loss"",0,if(K13=""Void"",J13,J13*H13)))"
Range("L14").Formula = "=if(K14="""","""",if(K14=""Loss"",0,if(K14=""Void"",J14,J14*H14)))"

For t = 25 To 524 Step 2
Range("C" & t & ":L" & t).Interior.ColorIndex = 24
Range("C" & t + 1 & ":L" & t + 1).Interior.ColorIndex = xlNone
Next
Application.ScreenUpdating = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("E23:E523")) Is Nothing Then
        Range("E23:E523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
                                                                            "N1"), Unique:=True
    If Not Intersect(Target, Range("F23:F523")) Is Nothing Then
        Range("F23:F523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
                                                                            "O1"), Unique:=True
    If Not Intersect(Target, Range("I23:I523")) Is Nothing Then
        Range("I23:I523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
                                                                            "P1"), Unique:=True
    End If
End Sub
Avatar billede kabbak Professor
30. januar 2007 - 15:33 #12
Hvorfor kan du ikke bruge den samme liste, i stedet for 3

Du har blandet dine funktioner , sådan skal de se ud


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Not Intersect(Target, Range("E23:E523")) Is Nothing Then
        Range("E23:E523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
                                                                            "N1"), Unique:=True
    End If
    If Not Intersect(Target, Range("F23:F523")) Is Nothing Then
        Range("F23:F523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
                                                                            "O1"), Unique:=True
    End If
    If Not Intersect(Target, Range("I23:I523")) Is Nothing Then
        Range("I23:I523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
                                                                            "P1"), Unique:=True
    End If
End Sub


Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    For t = 10 To 14
        x = Cells(524, 11).End(xlUp).Row + 1
        If x < 25 Then x = 25
        If Cells(t, 11) <> "" Then
            y = Range("C" & t & ":L" & t).Value
            Range("C" & x & ":L" & x) = y
            Cells(x, 3).Value = CDate(Cells(x, 3).Value)
            Range("C" & t & ":L" & t).ClearContents
        End If
    Next
    x = Cells(524, 11).End(xlUp).Row
    Range("C25:L" & x).Select
    Selection.Sort Key1:=Range("C25"), Order1:=xlAscending, Header:=xlNo, _
                  OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                  DataOption1:=xlSortNormal

    Range("C10:L14").Select
    Selection.Sort Key1:=Range("C10"), Order1:=xlAscending, Header:=xlGuess, _
                  OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                  DataOption1:=xlSortNormal
    Range("C10").Select

    For t = 10 To 14 Step 2
        Range("C" & t & ":L" & t).Interior.ColorIndex = 24
        Range("C" & t + 1 & ":L" & t + 1).Interior.ColorIndex = xlNone
    Next
    Range("L10").Formula = "=if(K10="""","""",if(K10=""Loss"",0,if(K10=""Void"",J10,J10*H10)))"
    Range("L11").Formula = "=if(K11="""","""",if(K11=""Loss"",0,if(K11=""Void"",J11,J11*H11)))"
    Range("L12").Formula = "=if(K12="""","""",if(K12=""Loss"",0,if(K12=""Void"",J12,J12*H12)))"
    Range("L13").Formula = "=if(K13="""","""",if(K13=""Loss"",0,if(K13=""Void"",J13,J13*H13)))"
    Range("L14").Formula = "=if(K14="""","""",if(K14=""Loss"",0,if(K14=""Void"",J14,J14*H14)))"

    For t = 25 To 524 Step 2
        Range("C" & t & ":L" & t).Interior.ColorIndex = 24
        Range("C" & t + 1 & ":L" & t + 1).Interior.ColorIndex = xlNone
    Next
    Application.ScreenUpdating = True
End Sub
Avatar billede Greenseeker Praktikant
30. januar 2007 - 16:34 #13
Samme liste i stedet for 3?

Jeg kan stadig ikke få det til at virke... Nu skriver den: "Der er et manglende eller ugyldigt feltnavn i uddragsområdet."

Og så markerer den:

Range("I23:I523").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
                                                                            "P1"), Unique:=True

med gult, hvis jeg trykker "Debug"...
Avatar billede kabbak Professor
30. januar 2007 - 17:31 #14
Du har ingen overskrift i P1
Avatar billede Greenseeker Praktikant
30. januar 2007 - 17:39 #15
Det forstår jeg ikke? Jeg har en overskrift fra I23, der står i P1... Er det noget jeg skal rette i modulet, eller arket?
Avatar billede kabbak Professor
30. januar 2007 - 18:51 #16
har du noget specielt i cellerne "I23:I523")
Avatar billede Greenseeker Praktikant
30. januar 2007 - 18:58 #17
Næh, regnearket skal bruges til statistik over spil på internettet. I kolonne E indtastes hvilken sport man spiller på, kolonne F er spiltype og kolonne I er bookmaker. Så for hver spil indtastes data i en række, og listerne skal så bruges til at kunne sammenligne de enkelte sportsgrene, spiltyper og bookmakere... Men der står ikke noget der er anderledes i Kolonne I...
Avatar billede Greenseeker Praktikant
30. januar 2007 - 19:04 #18
En idé:

kan man ikke tilføje den makro du snakkede om tidligere, til funktionen af den "comandbutton" der findes i samme ark?
Avatar billede Greenseeker Praktikant
04. februar 2009 - 16:47 #19
Lukker lige den her... Forældet probem! :o)
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