2010-05-29 9 views
0

J'écris une macro, mais parce que je travaille pour la première fois en vb, j'ai fait face à des problèmes.Comment augmenter la valeur de la cellule dans Excel en utilisant VBA? Erreur: Type incompatibilité

Mon code:

Cells (1, 1).Select 
Dim tempvar As Integer 
tempvar = Val(Selection.Value) // error 
Selection.Value = tempvar + 1 

Que mon code devrait être:

Cells(1,1).Value+=1 

J'obtiens l'erreur "incompatibilité de type". Comment puis-je accomplir cela?

EDIT: Ligne 1, cellule 1 fusionnée. Il se compose de 4 colonnes, donc c'est la rangée 1, cellule 1,2,3,4 dans une colonne. Si la cellule n'est pas fusionnée, il n'y a pas de problème.

+0

Quelles sont les valeurs prises en charge par la cellule (1,1)? aussi, quelle ligne a l'erreur de type incompatibilité? – shahkalpesh

+0

la valeur est 0, j'ai noté où l'erreur se produit "// erreur". –

Répondre

1

Que diriez-vous ceci:

Cells(1,1).Value = Cells(1,1).Value + 1 

cellules Sélection et gammes de travailler avec eux en VBA n'est pas nécessaire (et est beaucoup plus lent), vous pouvez simplement les consulter directement. Je ne suis pas vraiment positif ce que ci-dessus fera si les cellules (1,1) a la valeur "bonjour" ou pas un nombre, mais cela fonctionnera si c'est valide. Vous pouvez utiliser IsNumeric() si vous voulez tester la valeur dans la cellule pour être sûr. Faites-moi savoir si cela aide!

+0

Cela résout le problème, merci! –

Questions connexes