Avatar billede gladhund Nybegynder
27. august 2010 - 09:35 Der er 9 kommentarer og
1 løsning

Føje ny værdi til rowsource

Hej eksperter,

Userform med combobox:
Hvis en bruger skriver en værdi i comboboxen, som ikke er i rowsource (fx ark2, B20:B30 indtil sidste række med data), så skal værdien gemmes under den sidste værdi i rowsource. Eksempel: Der er data i række B26, så værdien gemmes i række B27.
Avatar billede Thyge Nybegynder
27. august 2010 - 14:09 #1
Prøv denne:

Set VærdiFund = Sheets("Ark2").Range("B20:B30").Cells.Find(what:=ComboBox, LookIn:=xlFormulas, lookat:=xlWhole)

        If VærdiFund Is Nothing Then
            Range("B31").End(xlUp).Offset(1, 0).Value = Me.ComboBox.Value
            Exit Sub
        End If
Avatar billede gladhund Nybegynder
27. august 2010 - 14:36 #2
Tak C_Thyge, det ser godt ud! Jeg tester og vender tilbage :)
Avatar billede Thyge Nybegynder
27. august 2010 - 14:46 #3
Fino. Jeg kan se at der er en lille fejl i koden, som muligvis vil få betydning for dig afhængig af hvilket ark du befinder dig i.

Der burde stå "Sheets("Ark2")." foran "Range("B31")", så værdien ikke indsættes i det forkerte ark.
Avatar billede gladhund Nybegynder
27. august 2010 - 14:50 #4
Her er din kode tilpasset mine objekter:

Set nykategori = Sheets("Konfiguration").Range("B32:B81").Cells.Find(what:=cbkategori, LookIn:=xlFormulas, lookat:=xlWhole)

        If nykategori Is Nothing Then
            Range("B32").End(xlUp).Offset(1, 0).Value = Me.cbkategori.Value
            Exit Sub
        End If

Det sære er, at den indsætter værdien i B30?! Der er to værdier på listen, i 32 og 33.
Avatar billede gladhund Nybegynder
27. august 2010 - 14:56 #5
Min fejl. Der skal stå 81 i stedet for 31 - fordi mit eksempels slutværdi tilfældigvis var lig mit rigtige arks værdi! Sorry :).

Det virker, tak. Lige pludselig virker resten af koden så ikke, men det er nok ikke pga det her. Hvis du smider et svar, så får du dine point. Og jeg lærte den der find-ting til en anden gang - det er kanon!
Avatar billede Thyge Nybegynder
27. august 2010 - 15:00 #6
Ændre den til dette:

Set nykategori = Sheets("Konfiguration").Range("B32:B81").Cells.Find(what:=cbkategori, LookIn:=xlFormulas, lookat:=xlWhole)

        If nykategori Is Nothing Then
            Sheets("Konfiguration").Range("B82").End(xlUp).Offset(1, 0).Value = Me.cbkategori.Value
            Exit Sub
        End If

Den søger sidste linje nedefra og op. Så "startcellen" skal ikke være B32, men blot en celle der er under sidste linje i dit rowsource. Jeg har sat den til B82.
Avatar billede Thyge Nybegynder
27. august 2010 - 15:03 #7
Jo det er på grund af min kode... Sorry! Slet "Exit Sub", så skulle den gerne virke. Bare noget som jeg havde i min testfunktion og glemte at slette.
Avatar billede gladhund Nybegynder
27. august 2010 - 15:22 #8
Haha :D... så forstår jeg det bedre! Min ellers ret lange GEM kode, blive lige pludselig meget tam :)
Avatar billede Thyge Nybegynder
27. august 2010 - 15:27 #9
Jeg kunne have været skyld i mange timers fortvivlelse :) beklager igen, men godt det virker nu. God weekend!
Avatar billede gladhund Nybegynder
27. august 2010 - 15:32 #10
Ja, det kunne godt være gået meget mere galt. Det var godt jeg gjorde opmærksom på det og at du opdagede fejlen. Men det havde stadig været min egen "skyld", i det det er mig der beder om hjælpen.

Tak i lige måde, og tak for den finde kodebid :).
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