"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

excel Vba Hilfe

grond 15.10.2018 - 18:46 1127 4
Posts

grond

---------
Registered: Aug 2004
Location: 8401
Posts: 3173
Hallo,

ich habe eine sehr einfache Aufgabe für ein Projekt, aber ich steh an:

Ich habe in Excel 2 Felder
1. gibt mir das aktuelle Jahr aus "=Jahr(Heute())
2. ist das eingeschriebene Jahr vom Benutzer, beispielsweise 2015 oder 2019... oder whatever

nun möchte ich, dass bei Aufruf des Tabellenblatts überprüft wird ob das 2. < 1. ist

hab beide Felder mit Namen definiert
VBA schaut so aus

Private Sub Worksheet_activate()
Dim a
Dim b
If "a" > "b" Then
Call MsgBox("bla")
End If
End Sub


bitte um Hilfe was mache ich da falsch? bin leider nicht so der vba spezialist :D

sensei

die Küstenwache?
Avatar
Registered: Dec 2000
Location: Bad Schlotterbac..
Posts: 709
sollte das nicht so gehen?

...
Code:
a = Activesheet.Cells(x1,y1).value // Zelle (Zeile,Spalte) von Datum 1
b =  Activesheet.Cells(x2,y2).value // Zelle von Datum 2
if (a > b) Then
msgbox "bla"
End if
...

grond

---------
Registered: Aug 2004
Location: 8401
Posts: 3173
ich wills nicht über die Koordianten, sondern über den Namen des Feldes das ich vergeben habe-> was ist wenn ein lustiger mir eine Spalte/Zeile verschiebt

sensei

die Küstenwache?
Avatar
Registered: Dec 2000
Location: Bad Schlotterbac..
Posts: 709
dann mit RANGE("DeinName").Value

bzw. google sagt
ActiveWorkbook.Names("DeinName").RefersToRange.Value

(http://www.herber.de/forum/archiv/1...ansprechen.html)


edit: gerade probiert -> funktioniert.

Code:
Sub Makro1()
   
   Dim a  As Long
   Dim b  As Long
   a = ActiveWorkbook.Names("datum1").RefersToRange.Value
   b = ActiveWorkbook.Names("datum2").RefersToRange.Value
    
   If a < b Then
    MsgBox "bla"
   End If
End Sub
Bearbeitet von sensei am 15.10.2018, 19:01

grond

---------
Registered: Aug 2004
Location: 8401
Posts: 3173
Danke, funktioniert!
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz