magyarpityu Creative Commons License 2011.08.06 0 0 15730

Sziasztok!

 

Egy furcsa dolgot tapasztaltam, ebben szeretnék segítséget kérni!

 

Létrehoztam egy menürendszert, hogy a makróimat legördülő menüből hívhassam meg, és azt tapasztaltam, hogy a menüből meghívva a makrók bizonyos részei nem működnek! Az Excelből közvetlenül meghívva minden utasítás jól működik, de menüből elindítva a makrót nem működnek ezek a sorok, és hibaüzenet sincs!

 

Ilyenek nem működnek ('Data' egy Worksheet objektum):

 

Data.Cells.ClearContents

 

Dim LastRow As Long
LastRow = Data.Cells.SpecialCells(xlLastCell).Row

 

de különben így sem jó:

LastRow = Data.Cells(1, 1).SpecialCells(xlLastCell).Row

 

ez utóbbi azért különös, mert így viszont már jó eredményt ad:

LastRow = Data.Cells(1, 1).End(xlDown).Row

 

(De mi van, ha nem az első oszlop utolsó elemének helye kellene, hanem a munkalap legalsó cellájának sorindexe?)

 

Menüből hívva csak az utolsó sor ad vissza helyes értéket, míg a makrókat simán az Excelből indítva mind jó értéket ad vissza. Mi lehet ennek az oka, és mit lehet tenni? Előre is köszönöm a segítséget!