Maison >Tutoriel logiciel >Logiciel de bureau >Remplir automatiquement les données à l'aide d'EXCEL VBA
Sous S()
a = [o2].Texte
b = [o7].Texte
na = Len(a)
nb = Len(b)
ReDim arr(1 To na)
ReDim brr(1 To nb)
Pour i = 1 Pour na
arr(i) = Val(Mid(a, i, 1))
Suivant
Pour i = 1 À nb
brr(i) = Val(Mid(b, i, 1))
Suivant
Pour i = 1 à 9
a = ""
b = ""
Pour j = 1 Pour na
a = a & (arr(j) + i) Mod 10
Suivant
Pour j = 1 À nb
b = b & (brr(j) + i) Mod 10
Suivant
[o2].Offset(0, i) = a
[o7].Offset(0, i) = b
Suivant
Fin du sous-marin
Le code pour trouver la dernière ligne avec les données dans la colonne c est :
i=Cells(Rows.Count, 3).End(xlUp).Row
Selection.AutoFill Destination:=Range("D5:D" & i &"")
Le code complet est :
Sous jj()
Plage("D5").Sélectionner
ActiveCell.FormulaR1C1 = "=IF(RC[-2]=RC[-1],""y"",""0"")"
i = Cellules(Rows.Count, 3).End(xlUp).Row
Selection.AutoFill Destination:=Range("D5:D" & i & "")
Fin du sous-marin
Les captures d'écran étant incomplètes, je suppose que la zone de données est A1:F9 et la zone de remplissage est H1:M9
Le code est le suivant :
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim arr1 (1 à 54), arr2 (1 à 54)
Dim x, y, z comme entier
Dim b, c
Diminuer une variante
z = 1
x = 1
y = 1
c = 1
Pour x = 1 à 9
Pour y = 1 à 6
arr1(z) = Cellules(x, y)
z = z + 1
Le prochain
Suivant x
z = z - 1
Pour z = 1 à 54
a = arr1(z)
b = z
Pour x = 1 à 54
Si un
a = arr1(x)
b = x
Fin si
Suivant x
arr2(c) = a
c = c + 1
arr1(b) = 0
Suivant z
c = c - 1
Pour x = 1 à 9
Pour y = 8 à 13
Cellules(x, y) = arr2(c)
c = c - 1
Le prochain
Suivant x
Fin du sous-marin
Exécuter les résultats
Si cela vous aide, veuillez cliquer pour l'accepter, merci ^_^
Propriétaire : Bonjour, il y a un prérequis à votre question :
Si votre version Excel est la version 2003, alors vous ne pouvez utiliser que les 56 couleurs prédéfinies par le système. Les autres couleurs de remplissage implémentées à l'aide du code VBA seront converties en celle la plus proche de ces 56 couleurs.
Si votre version d'Excel est 2007 et supérieure, il n'y a presque aucune restriction sur les couleurs de remplissage des cellules. Vous pouvez complètement implémenter des remplissages de couleurs personnalisés via la commande de remplissage de cellules. Il prend en charge les modes RVB et HSL sans recourir à VBA.
Si vous utilisez VBA, le code est le suivant :
Sub test() 'Remplissez la cellule A1 avec du rouge, RVB (rouge, vert, bleu). Les valeurs du rouge, du vert et du bleu vont de 0 à 255. Différentes valeurs peuvent être définies pour obtenir différentes couleurs. Range("A1").Interior.Color = RGB(255, 0, 0) 'Remplir de rouge 'Si vous souhaitez supprimer la couleur de remplissage, utilisez cette phrase Range("A1").Interior.Pattern = xlnoeEnd Sub
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!