Avatar billede alen32 Nybegynder
11. februar 2008 - 17:24 Der er 2 kommentarer og
1 løsning

Listbox problemmer

Jeg har en listbox som er inbygget i arket dvs.ikke på formen. Brugeren vælger et emne ad gangen og så kører makro som kopirer nogen række til arket. Men en gang imellem sker det computer når man klikker på et emne i listen opfatter som om man har klikket flere gange på emnet. Jeg troede at der var noget galt med min mus men det sker også på andre computere dog kun en gang imellem. Makroen kører ellers godt. Hvad kan jeg gøre?
Her er koden:
Private Sub ListBox1_Click()
Dim rFound As Range
    Dim rLook As Range
  Dim rValue As String
    Dim rDest As Range
    rValue = ListBox1.Value
    Set rLook = Worksheets("Axe").Range("c2:aw2")
   

    Set rFound = rLook.Find(rValue, , , xlWhole)
    If Not rFound Is Nothing Then
        rFound.Resize(44, 1).Copy
        With Worksheets("Ark1")
                    With .Range("IV29").End(xlToLeft).Offset(0, 1)
                        .PasteSpecial xlPasteValues
                        .PasteSpecial xlPasteComments
                        Selection.HorizontalAlignment = xlCenter
                    End With

        End With
       
        End If
     
    Set rLook = Worksheets("Dax").Range("c2:aw2")
   

    Set rFound = rLook.Find(rValue, , , xlWhole)
    If Not rFound Is Nothing Then
        rFound.Resize(44, 1).Copy
        With Worksheets("Ark1")
                    With .Range("IV29").End(xlToLeft).Offset(0, 1)
                        .PasteSpecial xlPasteValues
                        .PasteSpecial xlPasteComments
                        Selection.HorizontalAlignment = xlCenter
                    End With

        End With
       
        End If

Set rLook = Worksheets("Rix").Range("c2:aw2")
   

    Set rFound = rLook.Find(rValue, , , xlWhole)
    If Not rFound Is Nothing Then
        rFound.Resize(44, 1).Copy
        With Worksheets("Ark1")
                    With .Range("IV29").End(xlToLeft).Offset(0, 1)
                        .PasteSpecial xlPasteValues
                        .PasteSpecial xlPasteComments
                        Selection.HorizontalAlignment = xlCenter
                    End With

        End With
       
        End If
Set rLook = Worksheets("Vix").Range("c2:aw2")
   

    Set rFound = rLook.Find(rValue, , , xlWhole)
    If Not rFound Is Nothing Then
        rFound.Resize(44, 1).Copy
        With Worksheets("Ark1")
                    With .Range("IV29").End(xlToLeft).Offset(0, 1)
                        .PasteSpecial xlPasteValues
                        .PasteSpecial xlPasteComments
                        Selection.HorizontalAlignment = xlCenter
                    End With

        End With
       
        End If

End Sub
Avatar billede bak Forsker
11. februar 2008 - 18:45 #1
Hvis du gemmer listboxens indhold til en public variabel hver gang og chekker om den har ændret sig og hvis den ikke har det så exit'er subben, burde det kunne køre

Public var1 as Variant

Private Sub ListBox1_Click()
    Dim rFound As Range
    Dim rLook As Range
    Dim rValue As String
    Dim rDest As Range
    If listbox1.Value = var1 Then Exit Sub
    rValue = listbox1.Value
    var1 = rValue
Avatar billede alen32 Nybegynder
11. februar 2008 - 19:34 #2
Det virker! Mange Tak!
Send et svar!
Avatar billede bak Forsker
11. februar 2008 - 19:36 #3
Godt, men vend tilbage hvis det gentager sig :-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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