Avatar billede chicoboy Novice
01. maj 2012 - 23:42 Der er 2 kommentarer og
1 løsning

Menu til makroer

efterlyses
Avatar billede supertekst Ekspert
01. maj 2012 - 23:43 #1
?? lidt forklaring fterlyses
Avatar billede chicoboy Novice
01. maj 2012 - 23:46 #2
Sorry - burde nok stå at det var til "Store-Morten"
Avatar billede store-morten Ekspert
01. maj 2012 - 23:48 #3
Den kommer her.

Tillægs opgave til: http://www.eksperten.dk/spm/961767#reply_7939040

Kopier koden, indsæt i et Modul:
Sub Auto_Open()
'  Creates a new menu and adds menu items
    Dim Cap(1 To 3) 'Øg tal, ved flere punkter
    Dim Mac(1 To 3)
    Dim MenuName As String
   
    MenuName = "&Chicoboy´s_Menu"
   
    Cap(1) = "Slet Rækker Med Indtast "
    Mac(1) = "mac1"
    Cap(2) = "Slet Rækker Med Tal "
    Mac(2) = "mac2"
    Cap(3) = "Slet Rækker Fra Liste "
    Mac(3) = "mac3"
'    Cap(4) = "Ikke i brug " 'Ret navn
'    Mac(4) = "mac3"        ' Kopier disse to, indsæt, og ret tal og navn ved flere punkter
   
    On Error Resume Next
'  Delete the menu if it already exists
    MenuBars(xlWorksheet).Menus(MenuName).Delete
   
'  Add the menu
    MenuBars(xlWorksheet).Menus.Add Caption:=MenuName, before:="Help"
   
'  Add the menu items
    With MenuBars(xlWorksheet).Menus(MenuName).MenuItems
   
        .Add Caption:=Cap(1), OnAction:=Mac(1)
        .Add Caption:=Cap(2), OnAction:=Mac(2)
        .Add Caption:="-"                      'Indsætter en streg
        .Add Caption:=Cap(3), OnAction:=Mac(3)
        '.Add Caption:=Cap(4), OnAction:=Mac(4) 'Kopier, indsæt, og ret tal ved flere punkter
       
    End With
End Sub

Sub Auto_Close()
    Dim MenuName As String
    MenuName = "&Chicoboy´s_Menu"
'  Delete the menu before closing
    On Error Resume Next
    MenuBars(xlWorksheet).Menus(MenuName).Delete
End Sub

Sub mac1()
'slet Rækker Med Indtast
On Error GoTo Slut
home = ActiveCell.Address
homeArk = ActiveSheet.Name

Application.ScreenUpdating = False

        Dim svar1 As String
        Dim svar2 As String
        svar1 = InputBox("Indtast kolonne bogstav", "Slet rækker, der indeholder ord?")
        If svar1 = vbchancel Then GoTo Slut
        svar2 = InputBox("Indtast søge ord?", "Slet rækker, der indeholder ord?")
        If svar2 = vbchancel Then GoTo Slut

Columns(svar1 & ":" & svar1).Select
    Selection.AutoFilter
    ActiveSheet.Range(svar1 & ":" & svar1).AutoFilter Field:=1, Criteria1:="=" & svar2 & "" _
        , Operator:=xlAnd
    Sidste = Cells(Rows.Count, svar1).End(xlUp).Row
If Sidste = 1 Then GoTo Ingen
    Rows("2:" & Sidste).Delete Shift:=xlUp
Ingen:
    ActiveSheet.Range(svar1 & ":" & svar1).AutoFilter Field:=1
    Selection.AutoFilter
    Range("A1").Select
   
Sheets(homeArk).Select
Range(home).Select

GoTo Slut
Slut:
Application.ScreenUpdating = True

End Sub

Sub mac2()
'Slet Rækker Med Tal
On Error GoTo Slut
home = ActiveCell.Address
homeArk = ActiveSheet.Name

Application.ScreenUpdating = False

        Dim svar1 As String
        svar1 = InputBox("Indtast kolonne bogstav", "Slet Rækker Med Tal")
        If svar1 = vbchancel Then GoTo Slut

Columns(svar1 & ":" & svar1).Select
    Selection.AutoFilter
    ActiveSheet.Range(svar1 & ":" & svar1).AutoFilter Field:=1, Criteria1:=">0", _
        Operator:=xlAnd
    Sidste = Cells(Rows.Count, svar1).End(xlUp).Row
If Sidste = 1 Then GoTo Ingen
    Rows("2:" & Sidste).Delete Shift:=xlUp
Ingen:
    ActiveSheet.Range(svar1 & ":" & svar1).AutoFilter Field:=1
    Selection.AutoFilter
    Range("A1").Select
   
Sheets(homeArk).Select
Range(home).Select

GoTo Slut
Slut:
Application.ScreenUpdating = True
End Sub

Sub mac3()
'Slet Rækker Fra Liste
On Error GoTo Slut
home = ActiveCell.Address
homeArk = ActiveSheet.Name

Application.ScreenUpdating = False

    Dim iRow As Integer 'Rækken der arbejdes med
    iRow = 2 'Sæt hvilken række der startes fra
   
    Do While Sheets(4).Range("A" & iRow).Value <> "" 'Så længe der er data I kolonne "læsekolonnen"
            søgord = Sheets(4).Range("A" & iRow).Value
       
            Columns("B:B").Select
                Selection.AutoFilter
                ActiveSheet.Range("B:B").AutoFilter Field:=1, Criteria1:="=*" & søgord & "*" _
                    , Operator:=xlAnd
                Sidste = Cells(Rows.Count, "B").End(xlUp).Row
            If Sidste = 1 Then GoTo Ingen
                Rows("2:" & Sidste).Delete Shift:=xlUp
Ingen:
                ActiveSheet.Range("B:B").AutoFilter Field:=1
                Selection.AutoFilter
                Range("A1").Select
         
            iRow = iRow + 1 'Forbered læsning af næste række
    Loop 'Afslut loopet

Sheets(homeArk).Select
Range(home).Select

GoTo Slut
Slut:
Application.ScreenUpdating = True

End Sub

Sub mac4()

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
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