| VBA-Beispiel 023 | |
|
|
|
Makro einfügen/entfernen |
|
|
Dieses Makro würde in Tabelle2 ein Makro einfügen oder, wenn schon vorhanden, das zweite Makro wieder entfernen. Das Makro welches eingefügt/entfernt wird, hat Bernd Held mal im Spotlight-Forum gepostet. Bei diesem Makro bekommt die aktive Zeile eine andere Hintergrundfarbe. |
|
|
Sub Makro_einfuegen_entfernen() 'fügt in die Tabelle2 das Makro von Bernd Held ein 'oder - wenn schon vorhanden - entfernt das Makro wieder Dim Code As String Dim i As Integer With ThisWorkbook.VBProject.VBComponents("Tabelle2").CodeModule Code = .Lines(1, 1) If Code = "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" Then .DeleteLines 1, 13 With Application.VBE.MainWindow .Visible = Not .Visible End With Else linenr = .CreateEventProc("SelectionChange", "Worksheet") .InsertLines i + 1, "'Makro von Bernd Held" .InsertLines i + 2, "On Error Resume Next" .InsertLines i + 3, "Static OldCellIndexcolor As Integer" .InsertLines i + 4, "Static OldCell As Range" .InsertLines i + 5, "If Not OldCell Is Nothing Then" .InsertLines i + 6, "OldCell.EntireRow.Interior.ColorIndex = OldCellIndexcolor" .InsertLines i + 7, "End If" .InsertLines i + 8, "OldCellIndexcolor = Target.EntireRow.Interior.ColorIndex" .InsertLines i + 9, "Target.EntireRow.Interior.ColorIndex = 36" .InsertLines i + 10, "Set OldCell = Target" End If End With With Application.VBE.MainWindow .Visible = Not .Visible End With End Sub |
|
|
Download: vba023.zip |
|
relevante Links:
|
|
| |