hi je suis nouveau pour exceller VBA , cherchait un moyen de calculer ce qui suit: p>
avoir champ d'identification dans L'identifiant doit réinitialiser à La finale SC doit également être calculée pour chaque POS comme moyen simple de SC entre 2 positions et imprimé au début de chaque POS. P>
par exemple. Pour ID 12534, pour POS 1, la finale SC devrait être (0,2 + 0,3) / 2. P>
blockQuote>
colonne A code> au format texte. Basé sur chaque champ d'identification et où le champ de texte n'est pas vide, je souhaite définir le champ POS à la valeur 1 code> (au début de chaque nouvel identifiant), puis incrémentez sur 2 code > à la prochaine position de champ de texte qui n'est pas vide. p>
1 code> lorsque l'ID dans la colonne A change, puis augmente et ainsi de suite. p>
3 Réponses :
Ceci fonctionnera, présumer que votre table commence à la cellule donne le résultat souhaité: p> mais je doute fortement que vous comprenez le code sans vous faire coder vous-même. a1 code>
honnêtement, je suis vraiment envisagé si je devrais même poster la réponse. em> p> p>
Merci! Ça marche! Je suis Newbie dans Excel VBA avec un cas d'utilisation unique. Désolé, je comprends votre préoccupation pour que je n'ai pas essayé de coder, je lis du contenu sur le contenu de la VBA, mais je soins à savoir où commencer ou comment aborder la déclaration de problème. Encore une fois, merci pour votre aide rapide!
Eh bien, content que vous mettiez au moins au moins l'effort. De toute façon, si cela résolvait votre question, veuillez la marquer comme la réponse (avec le signe de coche) et également la réponse de @chillin si vous avez trouvé cela utile :)
Il a lu votre code et essayez de comprendre. Merci encore.
Ceci est possible dans VBA (bien sûr), mais voici une approche de formule si vous voulez l'essayer.
Essayez de mettre cette formule dans la cellule D2 (en supposant et cette formule dans la cellule E2 (en supposant POS code> est dans la colonne D) : p> final SC code> est dans la colonne E): P> =IF($D2=1,AVERAGEIFS(C:C,A:A,$A2),"")
Vous pouvez utiliser SPÉCIALCELLS () A > Méthode et Zones Propriété de Plage Code> Objet: Sub main()
Dim area As Range
Dim iArea As Long
With Range("A2", Cells(Rows.Count, 1).End(xlUp))
For Each area In .SpecialCells(xlCellTypeConstants).Areas
With area.Offset(, 1).SpecialCells(xlCellTypeBlanks)
For iArea = 1 To .Areas.Count
.Areas(iArea).Offset(-1, 2).Resize(1).Value = iArea
.Areas(iArea).Offset(-1, 3).Resize(1).Value = WorksheetFunction.Average(.Areas(iArea).Offset(, 1))
Next
End With
Next
End With
End Sub
Solution très élégante, +1 :)
Hé, avez-vous essayé de faire un codage jusqu'à présent? Si oui, veuillez le poster ici. Aprèsall, Stackoverflow est de vous aider avec votre code, de ne pas faire le codage pour vous, gratuitement :)
Je suis un peu nouveaubie, j'aurais posté le code si je savais comment :) Si vous ne pouvez pas vous aider, c'est bien. voulait juste demander à un Qn. pas de soucis. Merci!
Les nouveaux identifiants sont-ils toujours séparés par une cellule vide?
Oui, ils sont toujours séparés par une cellule vide.