Den kommer her.
Tillægs opgave til:
http://www.eksperten.dk/spm/961767#reply_7939040Kopier 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