Comment remplacer automatiquement une formule Excel par une valeur lorsque la condition de date / heure est remplie

0

Je dois enregistrer les résultats d'une cellule en constante évolution en fonction de critères externes.

La B3valeur de la cellule change et je dois enregistrer la valeur B3à des moments précis. La cellule D2contient la date ( 9/12/14) et la cellule D3contient le temps réel ( 7:30:58). J'ai un tableau mis en place avec des heures et des dates spécifiques dans les colonnes I(date) et J(heure). Je dois enregistrer le résultat B3lorsque la date et l'heure répondent aux critères du tableau.

Après avoir étudié un moyen de le faire, je me rends compte que je devrai utiliser VBA; Cependant, je suis très nouveau sur VBA. Mes pensées initiales devaient avoir une IFfonction simple dans H2 comme

=IF($D$2&$D$3=I2&J2,"$B$3","")

Cependant, une fois que le temps a changé, les critères ne sont plus remplis et le résultat est parti, et je dois sauvegarder le résultat. J'ai également besoin de la solution pour appliquer à la date et l'heure suivante situé dans I3 & J3, ainsi que I4 & J4, et ainsi de suite.

Toute aide sur une solution VBA serait très appréciée.

Kurt
la source
@Excellll: la question référencée a des réponses qui nécessitent un appel manuel. Comment Kurt peut-il obtenir que cette fonctionnalité soit déclenchée par un temps? Est-ce qu'Excel / VBA a quelque chose de comparable à at, cronet / ou au planificateur de tâches Windows, pour qu'il puisse dire «exécuter ce code à 7:30:58»?
G-Man
@ G-Man ok, je vois maintenant. J'ai révisé le titre et retiré mon vote serré.
Excellll

Réponses:

0

Je pense que l'exemple suivant correspond à ce que vous avez demandé. J'ai créé un sous-programme VB pour mettre une valeur aléatoire dans B3, pour simuler l'évolution de la valeur dans votre situation. Le code VB vérifie également la date et l'heure actuelles par rapport aux valeurs d'une liste et, si elles correspondent, il enregistre la valeur aléatoire dans une cellule en regard de la date et de l'heure correspondantes. La technique que j’ai utilisée pour insérer les valeurs de date et d’heure uniquement dans D2 et D3 n’est pas illustrée dans les images ci-dessous afin que les comparaisons fonctionnent. Pour la date, j'ai utilisé ceci:

=datevalue(month(now()) & "/" & day(now()) & "/" year(now()))

Et pour la valeur temporelle:

=time(hour(now()),minute(now()),second(now()))

capture des valeurs lorsque la date et l'heure sont identiques code à exécuter chaque seconde lance le code quand wookbook s'ouvre

Nick Russo
la source
1
Pourriez-vous s'il vous plaît poster votre code sous forme de texte? Les captures d'écran ne sont pas pratiques pour les personnes souhaitant utiliser ou adapter ce code.
Excellll
Excellll - c'est tout ce que j'avais pour le moment en raison du blocage d'Excel; donner la priorité à Kurt pour que tout soit parfait. N'hésitez pas à éditer la réponse pour inclure le code.
Nick Russo