29. juli 2011 - 08:35
Der er
1 kommentar og
1 løsning
VBA sæt aktiv celle anden end formlens celle?
Hej,
Hvordan sætter man den aktive celle i Excel, til at være noget andet end formlens celle?
Det er nedenstående funktion der skulle returnere den første synlige celle over celle "a368" (som når det fungerer, naturligvis skal erstattes med inputCelle). Men den returnerer istedet den første synlige celle over formlens position.
Public Function SynligeCelleOver(inputCelle As String)
ActiveSheet.Range("a368").Select
ActiveSheet.Range("a368").Activate
ActiveCell.Offset(1, 0).Select
Do
ActiveCell.Offset(1, 0).Select
Loop While ActiveCell.EntireRow.Hidden = True
SynligeCelleOver = ActiveCell.Address
End Function
Funktionen returnerer $M$334, hvor den vel burde have returneret $A$334.
M.v.h.
Frederik
Hej Frederik
Hvis jeg har forstået dig ret ?
Hvad så med følgende kode.
Jeg har for eksemplets skyld oprettet en knap (cmdFørsteSynligeCelle), som kalder din funktioen:
Public inputcelle As String 'variabel til den aktivecelle
Private Sub cmdFørsteSynligecelle_Click()
'inputcelle er lig med den aktivecelle
inputcelle = ActiveCell.Address
'kald funktionen SynligeCelleOver
SynligeCelleOver (inputcelle)
End Sub
Public Function SynligeCelleOver(inputcelle As String)
Do
'tæl ned fra den aktivecelle
ActiveCell.Offset(-1, 0).Select
Loop While ActiveCell.EntireRow.Hidden = True
SynligeCelleOver = ActiveCell.Address
End Function
Og så har lader jeg offset metoden tælle nedad i rækkerne ved hjælp af minus fortegnet.
Med venlig hilsen, Nicolai