2009-11-16 7 views
0

J'essaie d'écrire un ensemble de touches très basiques dans Excel où je mets une cellule pour référencer une cellule qui est 2 vers la droite puis la suivante non vide cellule vers le bas. jeu très facile de touches:La prochaine cellule non vide dans excel/visualBasic

= ctrl-bas à droite de droite entrer

Mais quand j'utilise l'enregistreur de macro pour ce faire, il veut substituer le ctrl-bas avec une référence relative; ie

ActiveCell.FormulaR1C1 = "=R[6]C[3]" 

Sûrement il y a une substitution facile pour faire ce que je veux?

Répondre

3

dim Rng as range
set Rng=Activecell.offset(0,2).end(xldown)

est l'équivalent de vos clés coups, mais ce ne est pas la prochaine cellule non vide, sa dernière cellule non vide contiguë

0

A noter que la réponse de Charles vous amène à la dernière cellule avec quelque chose dedans avant une cellule vide. Il pourrait y avoir plus de détails en dessous de la cellule vide. Quand je cherche la dernière cellule d'affilée, je commence par le bas et je grimpe.

travail de la cellule active, il ressemblerait à ceci:

Dim col As Double 
Dim rw As Double 
col = ActiveCell.Column + 2 
rw = 65000 
Debug.Print col & "-" & rw 
Cells(rw, col).End(xlUp).Select 
0

A noter que la réponse de Charles vous amène à la dernière cellule avec quelque chose avant une cellule vide. Il pourrait y avoir plus de détails en dessous de la cellule vide. Quand je cherche la dernière cellule d'affilée, je commence par le bas et je grimpe.

travail de la cellule active, il ressemblerait à ceci:

Dim col As Double 
Dim rw As Double 
col = ActiveCell.Column + 2 
rw = 65000 
Cells(rw, col).End(xlUp).Select