Oprettet søn. d. 30. september 2012 kl. 00:44:00

swa2012
swa2012 (2.400 point. Point ude: 60)

Start makro fra cmd button og få listbox ind i macro

Jeg har nedenstående CMD button som skal starte makroen DeleteBlankARows() (den virker hvis jeg starter den som macro direkte fra det pågældende ark, dog med den motifikation at jeg vælger "FORD" istedet for listbox2) , men ved ikke hvordan det skal gøres, samtidig har jeg listbox2 hvor jeg vælger nogle bilmærker, som skal slettes, hvad skal kommandoen være i If cells.....?

Private Sub CommandButton3_Click()

' Sub DeleteBlankARows()

    With Application
        .Calculation = xlCalculationManual
        .ScreenUpdating = False
        Dim r As Long
        For r = Cells(Rows.Count, 11).End(xlUp).Row To 1 Step -1
            If Cells(r, 11) = ListBox2.Value Then Rows(r).Delete
        Next r
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
    End With
   
End Sub

Skrevet søn. d. 30. september 2012 kl. 15:29:24| #1

supertekst
supertekst (139.459 point)
supertekst-it.dk
Rem VBA-koden er indsat i en Userform:
Rem ListBox1 er anvendt i stedet for ..2

Sub DeleteBlankARows()
    With Application
        .Calculation = xlCalculationManual
        .ScreenUpdating = False
       
        Dim r As Long
        For r = Cells(Rows.Count, 11).End(xlUp).Row To 1 Step -1
            If Cells(r, 11) = ListBox1.Value Then
                Rows(r).Delete
            End If
        Next r
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
    End With
   
End Sub
Private Sub CommandButton1_Click()
    DeleteBlankARows
End Sub
Private Sub UserForm_activate()    'Opbygning af test-data
    Me.ListBox1.AddItem "AAA"
    Me.ListBox1.AddItem "BBB"
    Me.ListBox1.AddItem "CCC"
    Me.ListBox1.AddItem "DDD"
End Sub

Skrevet søn. d. 30. september 2012 kl. 20:05:16| #2

swa2012
swa2012 (2.400 point)
Hej Igen

Det virker næsten:-)

Jeg ville have vedhæftet en kopi af useform, men ved ikke hvordan jeg kan vedhæfte word dokument?


Når jeg markere flere felter og flytter dem fra Listbox1 til listbox2, så sletter kun hvis listbox 2 har en værdi, hvis listbox2 har flere værdier, så sker der ikke noget, kan det også løses?


Private Sub UserForm_Initialize()

  Sheets("Ark2").Select
 
End Sub
Private Sub UserForm_activate()    'Opbygning af test-data
   
    Me.ListBox1.List = Worksheets("Soeg").Range("T2:T37").Value
   
End Sub

Sub DeleteBlankARows()
    With Application
        .Calculation = xlCalculationManual
        .ScreenUpdating = False
     
        Dim r As Long
        For r = Cells(Rows.Count, 10).End(xlUp).Row To 1 Step -1
            If Cells(r, 10) = ListBox1.Value Then
                Rows(r).Delete
            End If
        Next r
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
    End With
 
End Sub
Private Sub CommandButton3_Click()

    DeleteBlankARows

End Sub

Private Sub CommandButton1_Click()

For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) = True Then ListBox2.AddItem ListBox1.List(i)
Next i

End Sub


Private Sub CommandButton2_Click()

Dim counter As Integer
counter = 0

For i = 0 To ListBox2.ListCount - 1
    If ListBox2.Selected(i - counter) Then
        ListBox2.RemoveItem (i - counter)
        counter = counter + 1
    End If
Next i

CheckBox2.Value = False

End Sub

Private Sub OptionButton3_Click()

ListBox1.MultiSelect = 2
ListBox2.MultiSelect = 2

End Sub

Private Sub CheckBox1_Click()

If CheckBox1.Value = True Then
    For i = 0 To ListBox1.ListCount - 1
        ListBox1.Selected(i) = True
    Next i
End If

If CheckBox1.Value = False Then
    For i = 0 To ListBox1.ListCount - 1
        ListBox1.Selected(i) = False
    Next i
End If

End Sub

Private Sub CheckBox2_Click()

If CheckBox2.Value = True Then
    For i = 0 To ListBox2.ListCount - 1
        ListBox2.Selected(i) = True
    Next i
End If

If CheckBox2.Value = False Then
    For i = 0 To ListBox2.ListCount - 1
        ListBox2.Selected(i) = False
    Next i
End If

End Sub

Skrevet søn. d. 30. september 2012 kl. 22:54:57| #3

supertekst
supertekst (139.459 point)
supertekst-it.dk
Ser på det senere...

PS: Anvend venligst KOMMENTAR når du svarer. SVAR anvendes af forslagsstiller når et indlæg forventes af kunne løse det stillede problem. Et SVAR kan så blive ACCEPTERET eller AFVIST af opgavestiller.

Skrevet man. d. 01. oktober 2012 kl. 11:27:05| #4

supertekst
supertekst (139.459 point)
supertekst-it.dk
Har tilføjet en funktion, der anvendes i DeleteBlankARows

Sub DeleteBlankARows()
    With Application
        .Calculation = xlCalculationManual
        .ScreenUpdating = False
     
        Dim r As Long
        For r = Cells(Rows.Count, 10).End(xlUp).Row To 1 Step -1
            If erDetListeVærdi(Cells(r, 10)) = True Then
                Rows(r).Delete
            End If
        Next r
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
    End With
End Sub
Private Function erDetListeVærdi(xlsVærdi)
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True _
            And ListBox1.List(i) = xlsVærdi Then
                erDetListeVærdi = True
                Exit Function
        End If
    Next i
    erDetListeVærdi = False
End Function

Skrevet tir. d. 02. oktober 2012 kl. 20:18:21| #5

swa2012
swa2012 (2.400 point)
Tak for det, virker perfekt. Er du sød at lægge et svar

Hilsen

søren

Skrevet tir. d. 02. oktober 2012 kl. 21:00:34| #6

supertekst
supertekst (139.459 point)
supertekst-it.dk
Selv tak - et svar kommer her..

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Hjælp til tidsplan i Excel

Oprettet den 23. maj 2013 kl. 14.02
Kastanievej giver 30 point for svar | Giv et svar »

En linie med simpelt regnestykke

Oprettet den 23. maj 2013 kl. 11.25
ole_viller giver 30 point for svar | Giv et svar »

Opdatering

Oprettet den 23. maj 2013 kl. 11.09
Jillybilly giver 150 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Her gemmer de hemmelige kopier af dine data sig

Hvad sker der, hvis din Mac bryder sammen og du ikke har taget backup? Fortvivl ikke. Der er gode chancer for, at der rundt omkring alligevel ligger sikkerhedskopier af dine data.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Ny opfindelse: Oplad din mobil på 20 sekunder

Måske er det snart slut med at lade mobilen op hver aften. Med ny opfindelse kan telefonen få fuld energi på sølle 20 sekunder.


Nyheder fra Computerworld

Teaser billede

Snart kan du printe din egen pizza

Inden længe kan det blive muligt at printe pizzaer og andre fødevarer.


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger