excel makro?

  • #1
P

plotti

Guest
tja, ich hab mal alle meine kapitalsparbücher in excel zusammengeschrieben inkl frei behebbar ab
jetzt wäre es super wenn man, sobald man das file öffnet, irgendwas darauf hinweist dass man es schon abheben darf
sprich blinken oder andere farbe oder sowas
wäre super wenn mir da wer helfen kann
 
  • #2
Hallo plotti,

an welchem/n Kriterien kann denn erkannt werden, daß etwas geschehen /nicht geschehen soll?
In welcher Zeile, Spalte ist dieses Kriterium zu finden?
Ab welcher Zeile/Spalte kann mit dem Suchen begonnen werden?

Gruß Matjes :)
 
  • #3
also das ganze ist in tabelle 2
in spalte i, zeile 4-11

falls du das gemeint hast :)

es soll einfach nur auf die uhr von windows zugegriffen werden und dann geschaut werden ob das datum schon war oder erst kommt
wenn das datum älter ist, dann hervorheben
 
  • #4
Hi plotti,

hab dir einen Makro gebastelt, der auf Tabelle2 in Spalte I ab Zeile 4 die Zellen untersucht.
Ist in der Zelle ein Datum enthalten und das Datum in der Vergangenheit, wird die Textfarbe des Datums auf grün gesetzt, andernfalls auf rot.

Den Makro bringst Du folgendermaßen in die Arbeitsmappe:

1) Excel-Datei öffnen
2) VB-Ediotr öffnen Alt+F11
Links siehst Du ein Fenster mit der Überschrift Projekt-VBA-Project.
In diesem Fenster ist die Arbeitsmappe unter dem Namen VBAProject( Deine Mappe ) zu finden.
3) VBA-Modul anlegen mit
3a) VBAProject(Deine Mappe) mit der Maus selektieren
3b) rechte Maustaste -> Einfügen -> Modul
in der Mitte geht das Code-Fenster Mappe1-Modul1(Code) auf
4) den Code von AbgelDatumFarbig_Sparbuch per copy und Paste in dieses Fenster hineinkopieren
Code:
Sub AbgelDatumFarbig_Sparbuch()

 ->Definitionen
  Const c_myBlattname As String = Tabelle2
  Const c_mySpalte As Long = 9-> entspr. I
  Const c_myErsteZeileMitWert As Long = 4
  
 ->Variable
  Dim ws As Worksheet, x As Long, l_maxZeile As Long
  Dim d_myDate As Date
  
 ->Blatt aktivieren
  On Error GoTo Errorhandler
  Set ws = ActiveWorkbook.Worksheets(c_myBlattname)
  On Error GoTo 0
  
 ->Blatt aktivieren
  ws.Activate
  
 ->letzte Zeile mit Wert in Spalte I
  l_maxZeile = ws.Cells(ws.Rows.Count, c_mySpalte).End(xlUp).Row
  
 ->über alle Zellen mit Wert in Spalte I
  For x = c_myErsteZeileMitWert To l_maxZeile
   ->leere Zellen überspringen
    If ws.Cells(x, c_mySpalte).Value <>  Then
     ->prüfen, ob Datum, wenn nein -> überspringen
      If IsDate(ws.Cells(x, c_mySpalte).Value) Then
        d_myDate = ws.Cells(x, c_mySpalte).Value
        If d_myDate < Date Then
         ->Ablaufdatum überschritten
         ->Font-Farbe grün setzen
          ws.Cells(x, c_mySpalte).Font.ColorIndex = 50
        Else
         ->Ablaufdatum liegt in der Zukunft
         ->Font_Farbe rot setzen
          ws.Cells(x, c_mySpalte).Font.ColorIndex = 3
        End If
      End If
    End If
  Next
  
 ->Aufraeumen
  Set ws = Nothing
  Exit Sub
Errorhandler:
  MsgBox (AbgelaufenesDatumKennzeichnen_Sparbuch: Blatt  & _
          c_myBlattname &  nicht gefunden.)
End Sub

Damit dieser Makro beim Öffnen der Mappe ausgeführt wird:
5) im Project-Fenster->DieseArbeitsmappe' doppelt klicken
in der Mitte geht das Code-Fenster DieseArbeitsmappe(Code) auf
6) den Code
Code:
Private Sub Workbook_Open()
  Call AbgelDatumFarbig_Sparbuch
End Sub
per copy und Paste in dieses Fenster hineinkopieren
5) VB-Editor schliessen mit Alt+Q
6) Excel-Datei speichern und schliessen
7) Excel-Datei öffnen und nachschauen, ob das Datum in Spalte I farbig ist.

Gruß Matjes :)
 
  • #5
Hallo Matjes,

het ich nicht besser sagen können ;D

aber ich habe folgendes Problem, ich kann mein VBA Makro nicht einfüben in meine Excel Arbeitsmappe. Ich habe das Makro mit Visual Studio .Net geschrieben und möchte es nun in meine Excel Arbeitsmappen einfügen, wie mach ich das?

Habs vergessen :(

MFG und THX
Flexibel
 
  • #6
Hi flexibel2003 / plotti,

ob man mit  Visaul Studio.Net Excel-Makros schreiben kann, weiß ich nicht.

Um es auszuprobieren kannst Du den Makro in VB.Net öffnen und ihn per Cut & Paste so wie im Thread beschrieben mit dem VB-Editor in die Codesite der Excel-Mappe einfügen und dann im VB-Editor -> kompilieren. Dann siehst Du ob Excel den Code versteht.

Wenn es nicht klappt, kopiere den Makro hier in den Thread. Dann kann ich ihn mir anschauen.

Gruß Matjes  :)
 
Thema:

excel makro?

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben