Numar curent VBA Excel

adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

Re: Numar curent VBA Excel

Mesaj de adof » Mie Iun 20, 2012 1:42 pm

sal

merge Super

mulţumesc mult

şi uite asa MICROSOFT poate sa adauge la exel altă facilitate

adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

Re: Numar curent VBA Excel

Mesaj de adof » Mie Iun 20, 2012 6:14 pm

sal

mai trebuie sa mearga din buton (ribon) pt celulele selectate şi cred ca nu mai face nimeni tabele în Word :)

sal

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Numar curent VBA Excel

Mesaj de IPP » Mie Iun 20, 2012 6:18 pm

Nu sunt foarte sigur la ce va referiti... si sunt putin surprins. Pentru ca vorbiti de Ribbon (ceea ce inseamna cel putin Excel 2007) dar nu v-a functionat la un moment dat codul macro pentru ca, probabil l-ati rulat in Excel 2000. Asadar?

adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

Re: Numar curent VBA Excel

Mesaj de adof » Mie Iun 20, 2012 6:24 pm

am office 2000

dar am citit prin forum despre butoanele ribon

nu stiam cum se numesc butonele din bara de instrumenete
şi am zis buton ribon

nu buton în pagina Exel care sa apară atunci când tiparesti pagina

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Numar curent VBA Excel

Mesaj de IPP » Mie Iun 20, 2012 6:39 pm

Din cate stiu, exista un singur buton (ce poate fi plasat pe oricare dintre barile de instrumente) caruia sa i se asocieze un cod macro.

Un buton "luat" de pe bara de instrumente Forms si desenat in foaia Excel nu apare, implicit, la tiparire, dimpotriva, trebuie sa intri in Format Control... , Properties si sa bifezi "Print Object" daca doresti sa apara la tiparire

adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

Re: Numar curent VBA Excel

Mesaj de adof » Joi Iun 21, 2012 7:00 am

sal

butonul de pe bara de instrumente are o denumire specifică ?

cum trebuie modificat ultimul cod în cazul în cazul în care sub coloanele capului de tabel trebuie scrise cifre
şi sub Nr. Crt. trebuie înscrisa cifra 0 ?

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Numar curent VBA Excel

Mesaj de IPP » Joi Iun 21, 2012 8:11 am

Buna ziua

Butonul pentru macro se numeste Custom Button si poate fi pozitionat pe o bara de instrumente. Pentru asta Tools, Customize, tabul Commands, in partea stanga alegeti Macros si in dreapta gasiti butonul. Folositi Drag and Drop pentru pozitionarea dorita

Pentru buton din bara de instrumente Forms (pe care trebuie sa o afisati in prealabil) alegeti butonul numit... Button.

... Poate o sa va hotarati la un moment dat sa atasati un fisier exemplu.

IP
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Numar curent VBA Excel

Mesaj de IPP » Joi Iun 21, 2012 10:51 am

Buna ziua

Aveti atasat spre testare un fisier.
Am folosit urmatorul cod:

Cod: Selectaţi tot

Sub InsertNrCrt()

'IPP - 21.06.2012
'CTRL+SHIFT+N

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
    
    Cells.Find(What:="nr*crt", After:=Range("A1"), LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Offset(1, 0).Select
 
Dim Coloana
Coloana = ActiveCell.Offset(0, 1).Column
Dim lRow As Long
 lRow = Cells(65536, Coloana).End(xlUp).Row

Dim NrCrt As Long
NrCrt = 0

If IsNumeric(ActiveCell.Offset(0, 1).Value) = True Then
    ActiveCell.Value = 0
    ActiveCell.Offset(1, 0).Select
End If

Do Until ActiveCell.Row = lRow + 1
    If Len(ActiveCell.Offset(0, 1)) <> 0 Then
     NrCrt = NrCrt + 1
     ActiveCell.Value = NrCrt
     Else: ActiveCell.Value = ""
    End If
ActiveCell.Offset(1, 0).Select
Loop

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub
IP
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

Re: Numar curent VBA Excel

Mesaj de adof » Lun Iun 25, 2012 10:04 pm

merge
DAR am încercat să intoduc o coloana între coloana cu NR.CRT. si coloana cu date

apoi a intrat într-un ciclu de cautare probabil
si nu am mai putut lucra in fisier sa blocat şi clipea indicatorul de la mouse

nu am un tabel anume
am o gramadă :D de fisiere in care sterg sau adaug rânduri
şi atunci apare problema în paginile care preiau informaţia

de aceea ma ajută Nr. Crt.

mulţumesc pt timpul acordat

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Numar curent VBA Excel

Mesaj de IPP » Mar Iun 26, 2012 7:30 am

Buna ziua

Macro respectiv nu are cum sa intre intr-un ciclu de repetare infinit decat daca l-ati plasat la nivel de foaie (in project VBA) si cu declansare la orice modificare/selectie in foaia respectiva. Credeam ca am lamurit si explicat acest aspect. Se pare ca nu. Insa pentru mine acest aspect NU reprezinta niciun DAR. V-am spus de la inceput cum stau lucrurile.

In plus, macro era gandit sa insereze numarul curent DUPA ce lucrurile erau "clare" in ceea ce priveste coloana de referinta in sensul ca aceasta exista deja (si se afla imediat in dreapta celei care contine NrCrt). Poate explicati cum ar putea sti, automat, un macro CARE dintre cele n coloane pe care le aveti va fi cea REALA cu date, mai ales ca pozitia ei in foaie nu va respecta nicio regula (acum poate fi coloana B, peste o ora coloana N ....)

Nu-mi ramane decat sa repet ceea ce am mai spus si altor utilizatori la un moment dat: primul inteles pentru macro este acela de automatizare, fapt ce implica niste pasi clari si stricti de urmat + organizare a informatiei pe masura. Da, se poate face mai mult de atat dar nu la nesfarsit si un cod poate deveni lung si greu de gestionat. Si, in final, inutil pentru ca poate lua mai mult timp editarea lui decat realizarea "manula" a operatiunilor dorite. Eu nu cred in existenta unui cod universal valabil in care ORICE face utilizatorul in mod nerestrictionat si ORICUM are (NE)organizata informatia se obtin rezultatele dorite. Probabil am cunostinte insuficiente de VBA pentru a va rezolva integral problema si asa cum va doriti insa sunt gata sa va demonstrez pe orice cod facut de altcineva "profesionist" ca il pot bloca/face sa afiseze rezultat eronate doar prin modul de scriere/pozitionare a informatiei in foaie.

Eu cred ca ma opresc aici
Succes

IP

Închis

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”