05. maj 2008 - 19:19Der er
17 kommentarer og 1 løsning
Tilpasse makro
Jeg har en listbox i ark3. Når en bruger dobbeltklikker på en af de valgmuligheder kører nedenstående makro som finder den samme værdi i ark2. Makroen kopierer bestemte celler og indsætter dem i ark3 med start i kolonne B og celle31. Jeg vil gerne have ændret makro sådan at når makroen er kørt første gang og udfyld cellerne B31:B34 så næste gang makroen kører så skal værdier indsættes i kolonne C31:C34. Åltså hver gang makro kører så skal værdier indsættes i næste tommer kolonne.
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 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
Set rLook = Worksheets("Ark2").Range("e1:e65000") Set rFound = rLook.Find(rValue, , , xlWhole) If Not rFound Is Nothing Then With Worksheets("Ark3") .Range("B31") = rFound.Offset(0, 0).Value .Range("B32") = rFound.Offset(1, 0).Value .Range("B33") = rFound.Offset(0, 7).Value .Range("B34") = rFound.Offset(0, 5).Value End With End If End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 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
Set rLook = Worksheets("Ark2").Range("e1:e65000") Set rFound = rLook.Find(rValue, , , xlWhole) If Not rFound Is Nothing Then With Worksheets("Ark3") kol = Cells(31, 255).End(xlToLeft).Column .Cells(31, kol) = rFound.Offset(0, 0).Value .Cells(32, kol) = rFound.Offset(1, 0).Value .Cells(33, kol) = rFound.Offset(0, 7).Value .Cells(34, kol) = rFound.Offset(0, 5).Value End With End If End Sub
Den virker ikke som den skal. Den kopirer celler med start i celle a31 og den skal starte i celle B31 og desuden skriver den ikke i den næste række, men den bliver ved med at overskrive den samme række.
Jeg har også et problem mere. Jeg vil gerne tjekke hvad der står i cellen .rFound.Offset(0,2) og hvis der står "Kalundborg" så skal der i celle 33 ark3 skrives værdi .Cells(33, kol) = rFound.Offset(0, 7).Value og hvis der står noget andet så skal der skrives i den samme celle .Cells(33, kol) = rFound.Offset(0, 2).Value
Noget i den her retning If .rFound.Offset(0,2).Value = "Kalundborg" then .Cells(33, kol) = rFound.Offset(0, 7).Value Else .Cells(33, kol) = rFound.Offset(0, 2).Value
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.