Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
168to172
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
168to172
168to172
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei im VBA Editor

Datei im VBA Editor
14.10.2002 18:38:12
Hajo_Zi
Hallo Helfer

ich muß mal auch eine Frage stellen

Ich habe eine Datei mit nachfolgendem Code. Wird die Datei geschlossen. Ist sie immer noch im VBA Editor vorhanden. Und ich habe nicht mal ein Ansatz warum.

Im Code gehts es darum die Spalten A bis E in der aktuellen Zeile mit Rot zu markieren und beim wechsel die Farben wieder zurückzustellen.


in ein Modul
Option Explicit
Public Wert(5, 5, 5) As String ' 1=Farbe; 2=Zelle; 3= Register
Public I As Integer


in DieseArbeitsmappe
Option Explicit

Private Sub Workbook_Open()
   If ActiveCell.Column < 6 Then
      ActiveSheet.Unprotect
      For I = 1 To 5
'        Werte auslesen
         Wert(I, 1, 1) = Cells(ActiveCell.Row, I).Interior.ColorIndex
         Wert(I, 2, 2) = Cells(ActiveCell.Row, I).Address
         Wert(I, 3, 3) = ActiveSheet.Name
'        Zelle Rot Färben
         Cells(ActiveCell.Row, I).Interior.ColorIndex = 3
      Next I
      ActiveSheet.Protect
   End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Zurück
End Sub


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
   Zurück
'  neue Werte Auslesen
   If ActiveCell.Column < 6 Then
      ActiveSheet.Unprotect
      For I = 1 To 5
 '       Werte auslesen
         Wert(I, 1, 1) = Cells(ActiveCell.Row, I).Interior.ColorIndex
         Wert(I, 2, 2) = Cells(ActiveCell.Row, I).Address
         Wert(I, 3, 3) = ActiveSheet.Name
 '       Zelle ot Färben
         Cells(ActiveCell.Row, I).Interior.ColorIndex = 3
      Next I
      ActiveSheet.Protect
   End If
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
   Zurück
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As ObjectByVal Target As Range)
'  alte Werte zurücksetzen
   Zurück
'  neue Werte Auslesen
   If ActiveCell.Column < 6 Then
      ActiveSheet.Unprotect
      For I = 1 To 5
 '       Werte auslesen
         Wert(I, 1, 1) = Cells(ActiveCell.Row, I).Interior.ColorIndex
         Wert(I, 2, 2) = Cells(ActiveCell.Row, I).Address
         Wert(I, 3, 3) = ActiveSheet.Name
 '       Zelle ot Färben
         Cells(ActiveCell.Row, I).Interior.ColorIndex = 3
      Next I
      ActiveSheet.Protect
   End If
End Sub

Sub Zurück()
   If Wert(1, 1, 1) <> "" Then
      Worksheets(Wert(1, 3, 3)).Unprotect
      For I = 1 To 5
         Worksheets(Wert(I, 3, 3)).Range(Wert(I, 2, 2)).Interior.ColorIndex = CInt(Wert(I, 1, 1))
      Next I
      Worksheets(Wert(1, 3, 3)).Protect
   End If
End Sub
 

     Code eingefügt mit Syntaxhighlighter 1.16

Gruß Hajo

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Crossposting wäre besser.
14.10.2002 21:54:33
Hans
ot
Re: Crossposting wäre besser.
14.10.2002 21:54:43
Hans
ot
Dateien im VBA Editor.
14.10.2002 21:57:58
Hajo_Zi
Hallo Hans

was soll uns dieser Beitrag sagen??

Gruß Hajo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige