Excel - Envoyer la valeur de la cellule à la cible

Dans Microsoft, effectuer des calculs et régler des enregistrements réguliers peut être effectué à l'aide de formules dans le logiciel Excel Office. L'envoi des valeurs d'une cellule d'Excel à la cible peut être effectué en copiant et collant une valeur de colonne dans la cellule cible. Dans une colonne A si la valeur est zéro et dans la colonne K, la valeur est supérieure à zéro, copiez la valeur de la colonne "A" et collez-la dans la colonne "K". La valeur de la colonne est contrôlée par les fonctions copier / coller simples de Windows. Pour ajouter plusieurs colonnes, définissez la formule sous la forme "C: K". Le calcul est effectué pour la colonne suivante jusqu'à ce que la dernière colonne soit atteinte et que la valeur soit copiée et collée dans la colonne ciblée.

Problème

Est-il possible d'envoyer la valeur d'une cellule (copier-coller spécial) vers une autre cellule où la valeur ne serait pas perturbée lorsque la valeur source passe à '0'?

Ma feuille de calcul récapitulative du calculateur de la paie récupère chaque semaine les informations des autres feuilles de calcul dans le fichier Excel et calcule la paie de la semaine en cours. La semaine précédente avait des valeurs, mais maintenant, pendant la semaine en cours, les cellules de la semaine précédente sont 0.

Mon objectif est de conserver les valeurs de la semaine précédente dans un autre tableau de cellules afin que je puisse avoir un total cumulé pour le mois.

Exemple:

A3 a la formule:

 = SI (A3 = 'Calculatrice de la paie'! M2, VLOOKUP (H1, 'Calculatrice de la paie'!! $ B $ 3: M $ 28, 8 $, FAUX), 0) 

Cette valeur doit être enregistrée sur K3, mais uniquement si elle dépasse 0.

Si A3 renvoie une valeur de «0», toute valeur supérieure à «0» précédemment enregistrée dans K3 sera laissée seule.

Je l'ai facilement fait manuellement en copiant simplement les valeurs que je veux sauvegarder, puis en utilisant la commande "coller spécial" et en choisissant "valeurs", collées dans la cible. "Ignorer les blancs" ne fait rien. La macro:

Sous-macro1 ()

'

Macro1 Macro

'

'

Plage ("C3"). Sélectionnez

ActiveWindow.ScrollRow = 10

Plage ("C3: I52"). Sélectionnez

Sélection.Copie

Plage ("K3"). Sélectionnez

Selection.PasteSpecial Paste: = xlValues, Operation: = xlNone, SkipBlanks: = _

True, Transpose: = False

Plage ("K3"). Sélectionnez

Application.CutCopyMode = False

End Sub

Il écrase les valeurs des semaines précédentes avec des zéros, que je choisisse ou non d'ignorer les blancs (probablement parce que les cellules sont des zéros, pas des blancs!)

Je travaille avec le tableau A3: I54 et souhaite copier et coller toute valeur supérieure à "0" dans K3: Q54 en conservant les valeurs précédemment publiées dans K3: Q54 qui sont supérieures à "0".

Solution

Peut-être que cela peut vous amener dans la bonne direction si mon interprétation est correcte.

Ceci comparera la colonne A avec ce qui se trouve actuellement dans la colonne K ........

A1 compare la valeur en K1

A2 compare la valeur en K2

etc....

Si la colonne A est égale à zéro et que la colonne K est supérieure à zéro, conservez la valeur dans la colonne K. Sinon, copiez la valeur de la colonne A dans la colonne K.

 Sub Macro1 () Dim jj = 3 Faites jusqu'à la plage ("A" & j) = "" Si la plage ("A" & j) = 0 Alors la plage ("K" & j) = la plage ("K" & j) Else Range ("K" & j) = Range ("A" & j) Fin Si j = j + 1 Boucle Fin Sub 

Pour ajouter plusieurs colonnes, faites en sorte que la macro ressemble à "C: K"

 Sub Macro1 () Dim jj = 3 Faites jusqu'à la plage ("C" & j) = "" Si la plage ("C" & j) = 0 Alors la plage ("K" & j) = la plage ("K" & j) Else Range ("K" & j) = Plage ("C" & j) End If If Range ("D" & j) = 0 Puis Plage ("L" & j) = Plage ("L" & j) Sinon Plage ("L" & j) = Plage ("D" & j) Fin Si Si Plage ("E" & j) = 0 Puis Plage ("M" & j) = Plage ("M" & j) Autre plage ("M" & j) = Plage ("E" & j) Fin Si Si Plage ("F" & j) = 0 Alors Plage ("N" & j) = Plage ("N" & j) Autre Plage ( "N" & j) = Plage ("F" & j) Fin Si Si Plage ("G" & j) = 0 Puis Plage ("O" & j) = Plage ("O" & j) Autre Plage (" O "& j) = Plage (" G "& j) Fin Si Si Plage (" H "& j) = 0 Alors Plage (" P "& j) = Plage (" P "& j) Autre Plage (" P "& j) = Plage (" H "& j) Fin Si Si Plage (" I "& j) = 0 Alors Plage (" Q "& j) = Plage (" Q "& j) Autre Plage (" Q " & j) = Plage ("I" & j) Fin Si j = j + 1 Boucle Fin Sub 

Notez que

Merci à WutUp WutUp pour cette astuce sur le forum.

Article Précédent Article Suivant

Les Meilleurs Conseils