Kezdőlap › Fórumok › Excel programozás › [Resolved] Automatukus sorszám generálás
- This topic has 13 hozzászólás, 3 résztvevő, and was last updated 6 years telt el by delila.
-
SzerzőBejegyzés
-
2018-12-08-22:46 #5385
Sziasztok!
Egy újabb kérésem lenne. Régóta töröm a fejem,de csak kőkorszaki megoldásokat tudtam kitalálni rá és így sem tökéletesen működik.
Problémám a következő:
Van egy lenyíló listám, menyben „A” és „B” választható
Amit szertenék:
0001-9999 ig autómatikusan rendeljen hozzá a program egy soron követkető számot a választott betűhöz.
Pl.
A-0001
A-0002
B-0001
A-0003
B-0002ÉRzékelje a program, hogy eddig hány db „A”- t választottam és háhy db „B” -t
Természetesen a Listából kiválasztott betűhöz rendelt számot egy különálló oszlopban jelenítse meg.Pl.:
Ha a lista oszlopa „N” oszlop, akkor a betűhöz rendelt szám együtt az „M” oszlopba íródjon be. ( A-0001)
Segítséget előre is köszönöm!
Üdvözlettel NIN
2018-12-09-14:19 #5387Laphoz rendelt, eseményvezérelt makró.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 14 Then 'N oszlop Application.EnableEvents = False If Target = "A" Or Target = "B" Then Cells(Target.Row, "M") = Target & "-" & _ Left("000" & Application.WorksheetFunction.CountA(Columns(13), Target & "*"), 4) Application.EnableEvents = True End If End Sub
2018-12-09-15:45 #5389Köszönöm a segítséget!
Működik! Annyi szépséghibával, hogy „A” és”B” ket folyamtosan sorszámozza.
Tehát:
A-0001
A-0002 után , ha „B” jön a következő sorba, akkorNem B-0001 et ír, hanem B-0003 at
Lehetne egy olyan kérésem, hogy a program külön külön számoza „A” kat és „B” ket?
Előre is köszönöm a segítséget!
ÜDvözlettel NIN
- A hozzászólás módosításra került: 6 years telt el-NIN.
2018-12-09-16:06 #5393ELNÉZÉST!
Kérlek ezt az excelt nézd meg!
Köszönöm!
Attachments:
You must be logged in to view attached files.2018-12-09-18:44 #5397Hali!
Ehhez sem kell makró igazából.
Csak egy képlet az M oszlopba, ami az első cellától az aktuális celláig megszámolja, hogy hány A vagy B van az N oszlopban és ebből gyártja a kódot.=N2&"-"&SZÖVEG(DARABTELI($N$2:N2;N2);"0000")
Ha táblázattá alakítod, akkor a képletet magától ki fogja tölteni, ha egy új Betűt választasz az N oszlopban.
Lásd csatolt fájl, amiben kikommenteztem a munkalap makrót.
Imre
Attachments:
You must be logged in to view attached files.2018-12-09-21:18 #5401Sziasztok!
Köszönöm a segítséget!
Imre módszerénél maradok. Elképzelésem szerint működik!
Delila! Köszönöm neked is!
Üdvözlettel NIN
2018-12-11-10:44 #5403Sziasztok!
Nagyon köszönöm az eddigi segítséget!
Lenne még egy kérdésem/kérésem! Remélme nem vagyok túl szemtelen!
Problémám a következő:
Tökéletesen generálja – számolja le az értékeket!
Felmerült aza probléma, hogy mi van, ha a lsitán valaki visszamenőleg változtat az „A-O-K”-n
Természetesen átírja az értékeket az egész táblában.Van valmi lehetőség, hogy ne lehessen módosítani – újra választani – az egyszer már kiválasztott „A-O-K”-n?
fixálja adott cella értékét, zárólja esetleg írásvédetté tegye?
Ebben kérnék segítséget!Előre is köszönöm!
mellékeltem a munkafüzetet!
Üdvözlettel NIN
- A hozzászólás módosításra került: 6 years telt el-NIN. Indok: Lemaradt melléklet
Attachments:
You must be logged in to view attached files.2018-12-11-22:10 #5406Az Excelben ugye lapvédelem van, ami a zárolt tulajdonságú cellákat védi, ha bekapcsoljuk a lapvédelmet.
Ez egy meglehetősen összetett probléma, komolyan meg kellene tervezni, tesztelni, hogy a védelem mely oszlopokra terjedjen ki, és a többire ne.Majd eseménykezeléssel elvileg meg lehetne csinálni, hogy ha üresről változik valamire, azt vegye valódinak, és
– oldja fel a lapvédelmet
– zárolja a betűt és a generált kódot
– tegye vissza a védelmet.Én erre most nem vállalkozom, bocsánat.
2018-12-12-07:49 #5407Arra gondoltam, hogy a Q oszlopnál a lapvédelem beállítása előtt engedélyezni kell az oszlop kitöltését (Cellaformázás, Védelem fül, Zárolás négyzet elől kivesszük a pipát). Ezután a laphoz rendelt makró elvégzi a kitöltött Q zárolását.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 17 And Target <> "" Then 'Engedélyezi a lapon a módosítást a MAKRÓ SZÁMÁRA ActiveSheet.Protect Password:="SzupertitkosJelszo", UserInterfaceOnly:=True Range(Target.Address).Locked = True End If End Sub
2018-12-12-09:18 #5408Köszönöm szépen mindenkinek a választ és segítséget!
Delila megoldása tökéletesen működik!
Lehetne egy olyan kérésem, ha nem túl bonyolult:
csak a „Q” oszlopot zárolja és ott is csak azokat a cellákat ahol ki van választva „A” vagy „O”
Ami még üres – még ki nem töltött cellák a „Q” oszlopban, az szerkeszthető legyen.
Előre is köszönöm a segítséget!
ÜDvözlettel: Norbert
2018-12-12-09:57 #5409Tisztelt Delila!
Próbáltam a „(Cellaformázás, Védelem fül, Zárolás négyzet elől kivesszük a pipát). Ezután a laphoz rendelt makró elvégzi a kitöltött Q zárolását.” javaslatot, de valamiért nem úgy működik, ahogy kellen.
Kivettem a Zárolás elől a pipát! Sajnos még is az egész munkafüzetre érvényesíti a védelmet!
Mellékelem a munkafüzetet!
Jelszót „Alma” ra cseréltem és egy Ctrt+q makróval felhyorsítottam a jelszó megadást!
Attachments:
You must be logged in to view attached files.2018-12-12-11:34 #5411A lapodon azoknak a celláknak a zárolását is fel kell oldanod a lapvédelem előtt, amikbe engedélyezni akarod a bevitelt. Ezek (most) a P:S tartomány, teljes oszlopok. Ha máshol is szeretnél adatbevitelt, azokat a tartományokat se zárold.
2018-12-12-12:42 #5412Köszönöm!
Nagyon lúzer hibát vétettem!
Üdvözlettel, NIN
- A hozzászólás módosításra került: 6 years telt el-NIN.
2018-12-12-13:26 #5414Szívesen.
Végül mégis összejött. -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.