Pagina 1 din 1

numarA DE LA 1 PANA LA x

Scris: Vin Dec 22, 2017 12:11 am
de MrAdy777
SALUTRE, ma poate cineva ajuta.
As vrea sa am un fisier excel in care intr-o anumita celula la se schimba automat cifra. sa zicem ca se efectueaza o numarare de la 1 la x.

Re: numarA DE LA 1 PANA LA x

Scris: Vin Dec 22, 2017 7:47 am
de IPP
Buna ziua

Eu nu am inteles mare lucru din formularea problemei.
Schimbarea unei valori (cifre in cazul nostru) in cadrul unei celule nu poate declansa automat macro daca acea valoare e rezultatul unei formule.
Numararea de la 1 la x, in sensul ca x e valoarea introdusa de la tastatura?
De fapt in celula respectiva va exista un numar initial si acel numar va fi indexat cu 1 ca urmare a ceva...? (ex. numar de factura)
Acea numarare ar trebui sa insemne generarea unei serii de numere de la 1 la x? Daca da, unde se va scrie informatia sau va trebui sa fie o serie de mesaje?

Poate reveniti/reformulati/atasati un fisier exemplu

IP

Re: numarA DE LA 1 PANA LA x

Scris: Vin Dec 22, 2017 9:55 am
de MrAdy777
Îmi trebuie in celula A1, de exemplu, la fiecare 10 secunde, sa se schimbe cifra, 1, 2, 3,....infinit

De asemenea aș vrea după fiecare schimb de cifra să se tipărească foaia curenta

Re: numarA DE LA 1 PANA LA x

Scris: Vin Dec 22, 2017 12:04 pm
de IPP
Buna ziua

In fisierul atasat gasiti un exemplu minimal.
Dupa deschiderea fisierului cu permiterea rularii macro, se apasa butonul de Start.
Daca in A1 nu e completat nimic atunci primul numar inserat va fi 1, daca exista un alt numar, primul numar inserat va fi n+1. Urmeaza instructiunea de tiparire (acum e sub forma de comentariu si inlocuita cu afisarea informatiei in debug print a valorii din A1), dupa 10 secunde se repeta procedura pana la apasarea butonului Stop sau iesirea mai mult sau mai putin fortata din fisier.

Daca intr-adevar doriti o tiparire pe hartie tot la 10 secunde ar trebui sa luati in considerare ca e greu spre imposibil de a controla (din macro) imprimanta respectiv problemele care pot sa apara in cursul procesului de tiparire: ex. terminare hartie, terminare cerneala, blocare imprimanta etc.

Am folosit urmatoarele coduri, plasate intr-un modul:

Cod: Selectaţi tot

Public Ruleaza As Double

Sub StartAction()

Ruleaza = Now + TimeValue("0:00:10")
    Application.OnTime EarliestTime:=Ruleaza, Procedure:="Printeaza", Schedule:=True

End Sub


Sub Printeaza()
 Range("A1") = Range("A1") + 1

Debug.Print Range("A1").Value
'ActiveSheet.PrintOut

Call StartAction

End Sub


Sub StopAction()

On Error Resume Next
    Application.OnTime EarliestTime:=Ruleaza, Procedure:="Printeaza", Schedule:=False

End Sub
Observatii: cele doua butoane sunt setate din Properties sa nu apara la tiparire
Nu va asteptati ca numarul acela sa ajunga la infinit. Din cate stiu, cel mai mare numar care poate fi afisat de excel in mod normal (nu sub forma de 1E+16) este
9.999.999.999.999.990

IP