Visual Basic Si la cellule active contient du texte «A» puis insérez un 1 dans la cellule vers la droite

StackOverflow https://stackoverflow.com/questions/4856617

Question

La tâche est que si la cellule actuellement sélectionnée contient un "A" puis insérez un 1 dans la cellule vers la droite et (en raison des données ci-dessous) insérez une nouvelle ligne ci-dessous et remplissez la cellule sous le 1 avec un 0.

Donc, si la cellule contient un "A", alors lorsque la macro fonctionne, elle quitte; A 1 0

Le 1 étant dans la cellule à droite de l'A et le 1 étant dans une nouvelle rangée, dans la cellule directement en dessous du 1.

Le code que j'ai actuellement est;

Sub ChangeAToCells()
Dim text As String
text = "a"
Dim text0 As String
text = "b"
Dim text1 As String
text = "0"
Dim text2 As String
text = "1"


If ActiveCell = text Then
ActiveCell.Formula = text1
ActiveCell.Offset(1).EntireRow.Insert
ActiveCell.Offset(1, 0).Select
ActiveCell.Formula = text2
End If



End Sub

Les problèmes sont clairs, la sélection des cellules ne fonctionne pas et je ne peux pas obtenir la sortie de la boucle,

Était-ce utile?

La solution

Sub ChangeAToCells()
If ActiveCell = "a" Then
   ActiveCell.Offset(0, 1) = 1
   ActiveCell.Offset(1).EntireRow.Insert
   ActiveCell.Offset(1, 1) = 0
End If
End Sub

Autres conseils

Que vous attendez-vous à ce que ce code fasse? Vous attribuez d'abord 4 valeurs différentes à la même chaîne, puis comparez une cellule avec une chaîne, et si elles sont les mêmes, vous définissez la valeur de deux cellules sur les valeurs de deux chaînes que vous n'avez pas initialisées.

Je pense que tu voulais initialiser text0, text1 et text2 De plus, au lieu d'initialiser text quatre fois.

Je ne comprends pas ce que vous entendez par «édition de boucle». Il n'y a pas de boucle dans votre code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top