Comme le montre l' image, je suis en train de remplir les numéros dans l' ordre croissant dans des cellules fusionnées alternatives, qui sont différentes en taille . Donc, je ne peux pas utiliser la fonction de remplissage automatique d'Excel . Mais je veux une macro pour pouvoir le faire à chaque fois en appuyant une fois sur le bouton.
Notez que je veux des nombres jusqu'à la plage utilisée uniquement.
J'ai beaucoup essayé de le faire moi-même, mais je suis coincé maintenant ... Merci d'aider le débutant, c'est mon troisième jour en VBA.
Cela devrait faire ce que vous recherchez.
Il ignorera les cellules non fusionnées, je n'en ai pas vu dans votre capture d'écran qui nécessitait un numéro et qui n'ont pas été fusionnées, donc cela ne devrait pas être un problème.
Il utilise la colonne B pour déterminer la dernière ligne de vos données.
Dim i As Long
Dim lr As Long
Dim counter As Long
counter = 1
With Sheet1 'Change to whatever your sheets code name is
lr = .Cells(.Rows.Count, 2).End(xlUp).Row 'If you want to use something other than column B, change the 2 to the right column index
For i = 2 To lr
If .Cells(i, 1).MergeCells = True Then
If .Cells(i, 1).MergeArea.Item(1).Address = .Cells(i, 1).Address Then
.Cells(i, 1) = counter
counter = counter + 1
End If
End If
Next i
End With
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots