Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Mi-au disparut amigdalitele ?

Exista vreun plan de terorizare p...

Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone
 Monede JO 2024

Suprasolicitare sistem electric

CIV auto import

Mutare in MOZAMBIC - pareri, expe...
 Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...

Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...
 Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...

Kanal D va difuza serialul “...

Upgrade xiaomi mi11
 

Excel auto increment

- - - - -
  • Please log in to reply
1 reply to this topic

#1
Pasion

Pasion

    Junior Member

  • Grup: Members
  • Posts: 82
  • Înscris: 18.11.2005
Salut,


Ma tot chinui sa fac in excel un autoincrement number ca cel din access , am reusit sa fac ceva dar nu este chiar cea ce doresc eu,

Option Explicit 
Private Sub Worksheet_Change(ByVal Target As Range) 
	 
	If Target.Column > 1 And Target.Column <= 7 And Target.Row > 1 Then 
		Cells(Target.Row, 1).Value = Target.Offset(-1, -1).Value + 1 
	Else: Cells(1, 1).Value = 1 
	End If 
	 
End Sub 

Deoarece daca stergi linia respectiva  si inaintea ei e 2 pune 3 nu 4 cum as dori eu.
Cea ce as dori este un counter care sa tina minte  la ce pozitie a ramas si sa dea cheie unica informatiilor inserate pe randul respectiv.

Are cineva vreo ideie ce as putea face

Multumesc


Multumesc

#2
_Gio_

_Gio_

    Member

  • Grup: Members
  • Posts: 577
  • Înscris: 11.06.2006
E mai complicat pentru ca la stergere nu ai event de care sa te legi. Ar fi cateva solutii bune pe aici.

Pune o variabila globala pentru autoincrement (inainte de SheetChange).
Private COUNTER as Long (sau public daca vrei sa-l accesezi din alte module)
Lucreaza cu asta, de exemplu
COUNTER =Target.Offset(-1, -1).Value + 1
si la sfarsit schimbi valoarea  din prima coloana pentru autoincrement
Cells(Target.Row, 1).Value=COUNTER
Daca ultima linie se sterge, il incrementezi. Daca nu, il lasi asa. Pentru ultima linie vezi ce face ActiveSheet.UsedRange.

Ai mai putea sa incerci sa pui increment la urmatoarea linie dinainte (se modifica prima linie, pui 1 si pui si 2 la urmatoarea; se modifica linia 2, pui 3 la urmatoarea, samd). Asta cread ca ar rezolva problema.

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate