22. februar 2008 - 14:17Der er
14 kommentarer og 1 løsning
Danne makro som indsætter en kode i kode modulet for det aktuelle
Danne makro som indsætter en kode i kode modulet for det aktuelle ark.
Altså en af jer flinke folk har skrevet en fin kode til mig som jeg skal indsætte i kode modulet for de enkelte ark.
Så langt så godt.
Men jeg kunne rigtig godt tænke mig at jeg kunne lave den som en makro, som kunne ligge i min personlige makro mappe. PÅ den måde ville jeg kunne "slå" koden til og fra.
Altså hvordan får jeg nedenstående kode lagt i kodemodulet via en makro - og hvordan får jeg så en makro til at slette den igen ??
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Cells.Interior.ColorIndex = xlNone ActiveCell.EntireRow.Interior.ColorIndex = 19 End Sub
Hilsen Novicen
Ida
Som syntes at kode arbejde i Excel faktisk er ret sjovt ;o)
Øhhh se nu er jeg jo lost - jeg er ren novice i makroer - og er kun nået til at få lokket jer andre til at skrive koder / makroer for mig - som jeg så selv kopierer inde i excel - og så retter lidt i løbende.....
Så du kommer nok til at gå helt ned på 1. klasses niveau ;o)
Makroen går jo ud på følgende: Når der vælges en celle sættes der en farvemarkering for den pågældende række.
Denne kode: kopieres over på det ark, hvor makroen skal anvendes: HøjreKLik på arkfanen - Vis programkode - Indsæt koden Der, hvor der står XX indsætter du dit brugernavn i stedet - gem og luk VBA-vinduet.
Sub Worksheet_SelectionChange(ByVal Target As Range) If Application.UserName = "XX" Then Cells.Interior.ColorIndex = xlNone ActiveCell.EntireRow.Interior.ColorIndex = 19 End If End Sub
Se det med at kopierer den ind i arket har jeg fanget - men det jeg var interesseret i var - at kunne have koden liggende på en makroknap som jeg kunne bruge uanset hvilket ark jeg arbejder i...
Via Tilføjelsesprogrammer lykkedes det ikke for mig.
Så en "nødløsning" kunne måske være følgende:
Koden anbringes i ThisWorkbook i de XLS-filer, hvor funktionen ønskes. Koden virker så på alle ark i den pågældende fil. Ikke den smarteste løsning - men kunne måske anvendes indtil andet måske dukker op.
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _ ByVal Target As Excel.Range) Cells.Interior.ColorIndex = xlNone ActiveCell.EntireRow.Interior.ColorIndex = 19 End Sub
Hmmmm ja det er så også den mulighed jeg benytter mig af lige nu..... Når men jeg må prøve at se hvordan jeg ellers kan få den til at lykkes for mig.....
Hvis du gemmer denne kode i din Personlige projektmapper. Når du så har en projektmappe, hvor du vil bruge den i, kører du makroen, og den vil blive skrevet i den aktive mappe i ThisWorkbook modulet.
Public Sub Flyt_Markeringskode() Code = "Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _ " & vbCrLf Code = Code & " ByVal Target As Excel.Range)" & vbCrLf Code = Code & " Cells.Interior.ColorIndex = xlNone" & vbCrLf Code = Code & " ActiveCell.EntireRow.Interior.ColorIndex = 19" & vbCrLf Code = Code & "End Sub"
With ActiveWorkbook.VBProject. _ VBComponents("ThisWorkbook").CodeModule NextLine = .CountOfLines + 1 .InsertLines NextLine, Code End With End Sub
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.