Avatar billede legut Nybegynder
14. juli 2008 - 19:09 Der er 1 løsning

Slette rækker via rulleliste

Er det muligt at lave en rulleliste i fanen "ark1" bestående af værdierne fra en kolonne fra fanen "ark2". Når man har valgt en værdi, skal man kunne trykke på en knap og den sletter så både den række i ark2 med den pågældende værdi samtidig med at den og sletter den række i ark 3 med den pågældende værdi. Herefter skal denne værdi så ikke være at finde på rulleisten
Avatar billede supertekst Ekspert
15. juli 2008 - 16:43 #1
Rem ThisWork - VBA-kode iværksættes når projektmappen åbnes
Rem =======================================================
Dim ark2 As Worksheet
Dim arkIndtast As Worksheet
Sub workbook_activate()
    Application.ScreenUpdating = False

    definerArk
    opbygInvNr
    arkIndtast.Activate
   
    Application.ScreenUpdating = True
End Sub
Private Sub definerArk()
    With ActiveWorkbook
        Set arkIndtast = .Sheets("Indtast")
        Set ark2 = .Sheets("Ark2")
    End With
End Sub
Private Sub opbygInvNr()                            'opbygger InvesteringsNr i ComboBox på arketIndtast fra Ark2
Rem Slet indholdet af KomboListen på arket Indtast
    arkIndtast.OLEObjects("ComboBox1").Object = ""
    arkIndtast.OLEObjects("ComboBox1").Object.Clear
 
Rem traverser på Ark2 - find investeringsNr. i kolonne A
    ark2.Activate
   
    slutRæk = ActiveCell.SpecialCells(xlLastCell).Row
    For r = 1 To slutRæk
        celleværdi = ark2.Cells(r, 1)
Rem Hvis 2 første tegn er BOGSTAVER & 5 sidste TAL
        If IsNumeric(Left(celleværdi, 2)) = False And IsNumeric(Right(celleværdi, 5)) = True Then
            investNr = celleværdi
            arkIndtast.OLEObjects("ComboBox1").Object.AddItem celleværdi
        End If
    Next r
End Sub


Tillæg til tidligere udarbejdet kode:

Rem ========================== SLET INVESTERINGSNUMMER =============
Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    definerArk
   
    investNr = arkIndtast.OLEObjects("ComboBox1").Object.Value
    If investNr <> "" Then

Rem Slet investeringsNr i de to Ark + ComboBox
        sletInvNr ark2, investNr, "A"
        sletInvNr ark1, investNr, "B"
        sletInvNrComboBox
    End If
   
    Application.ScreenUpdating = True
End Sub
Private Sub sletInvNr(arkNavn As Worksheet, investNr, Kolonne)
Dim slutRæk, arkX As Worksheet
    Set arkX = arkNavn
    arkX.Activate
    slutRæk = ActiveCell.SpecialCells(xlLastCell).Row

    With ActiveSheet.Range(Kolonne & "1:" & Kolonne & CStr(slutRæk))
        Set c = .Find(investNr, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            arkX.Rows(c.Row).Select
            Selection.Delete Shift:=xlUp
            Exit Sub
        End If
    End With
End Sub
Private Sub sletInvNrComboBox()
On Error Resume Next

    arkIndtast.Activate
   
    ix = arkIndtast.OLEObjects("ComboBox1").Object.ListIndex
    arkIndtast.OLEObjects("ComboBox1").Object.RemoveItem ix
   
Rem Vis første element i Komboboksen
    arkIndtast.OLEObjects("ComboBox1").Object.ListIndex = 0
End Sub
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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