- Milyen okostelefont vegyek?
- Xiaomi Smart Band 8 Pro - pro és kontra
- Huawei Watch Fit 3 - zöldalma
- Samsung Galaxy A54 - türelemjáték
- Honor Magic5 Pro - kamerák bűvöletében
- Jobb zoom, egyszerűbb kijelző - megérkezett a Sony Xperia 1 VI
- Netfone
- Samsung Galaxy S23 Ultra - non plus ultra
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Apple iPhone 15 - a bevált módszer
Hirdetés
-
Színészek hangjait lopta el egy AI-cég
it Az USA-ban bepereltek egy AI-céget, mert a vád szerint ellopták a színészek hangjait, majd AI segítségével a saját céljaikra használták azokat.
-
Konzolokra is megjelenik a The Glass Staircase
gp Alig néhány nap múlva PlayStationre, Xbox-ra és Nintendo Switch-re is elérhető lesz a program.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Márkó20
újonc
Sziasztok!
Kis segítséget szeretnék kérni összesítés készítéséhez.
Van egy INBOUND fül, hetenként egy összesített sor. egymás után jönnek a hetek, de nem minden összesített tartomány áll ugyanannnyi sorból.
Ugyanez van az OUTBOUND fülön.Ezeket az értékeket szeretném heti szinten összesítve látni, úgy hogy BALANCE is legyen benne, amihez kell a STOCK sor amit manuálisan írunk be.
Ezen infók alapján tudtok segíteni?
Köszi!
-
-
Belnir
csendes tag
válasz Delila_1 #29353 üzenetére
Akkor is, ha nem menti el?
A kód jelenleg ilyen, lehet, hogy ebben van a hiba (amikor másolgattam) - valamint a sorrend fontos?
Private Sub Workbook_Open()
Dim lastrow As Long
Application.ScreenUpdating = False
With Worksheets("Rejtett")
lastrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
With .Range("A" & lastrow)
.Offset(0, 0).Value = "OPEN"
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Now()
.Offset(0, 3).Value = "'*"
.Offset(0, 4).Value = "'*"
.Offset(0, 5).Value = Environ$("username")
.Offset(0, 6).Value = Environ$("computername")
.Offset(0, 7).Value = Environ$("userdomain")
End With
End With
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Dim lastrow As Long
Application.ScreenUpdating = False
With Worksheets("Rejtett")
lastrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
With .Range("A" & lastrow)
.Offset(0, 0).Value = "OPEN"
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Now()
.Offset(0, 3).Value = "'*"
.Offset(0, 4).Value = "'*"
.Offset(0, 5).Value = Environ$("username")
.Offset(0, 6).Value = Environ$("computername")
.Offset(0, 7).Value = Environ$("userdomain")
End With
End With
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim lastrow As Long
Application.ScreenUpdating = False
With Worksheets("Rejtett")
lastrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
With .Range("A" & lastrow)
.Offset(0, 0).Value = "OPEN"
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Now()
.Offset(0, 3).Value = "'*"
.Offset(0, 4).Value = "'*"
.Offset(0, 5).Value = Environ$("username")
.Offset(0, 6).Value = Environ$("computername")
.Offset(0, 7).Value = Environ$("userdomain")
End With
End With
Application.ScreenUpdating = True
End Sub[ Szerkesztve ]
Intel G4560, AsRock B150M-HDS, 8Gb RAM
-
Delila_1
Topikgazda
válasz Márkó20 #29352 üzenetére
Közel sem elég.
Honnan tudja egy kívülálló, hogy mi a BALANCE, és mi a STOCK sor.
Hol vannak ezek? Az INBOUND és OUTBOUND lapokon hol vannak az adatok?
Egyáltalán miket kell összesíteni, hova?Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz Belnir #29354 üzenetére
Beteszünk egy sort a BeforeClose esemény végére, hogy kérdezés nélkül mentsen.
ActiveWorkbook.Save
Application.ScreenUpdating = True
End SubA végén, az Application.ScreenUpdating = True fölötti sor az új.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Belnir
csendes tag
válasz poffsoft #29356 üzenetére
utólag szerkesztve: Delila, köszi!
Sajnos nem tudom, hogy ezt hogyan kell. Még rettenetesen kezdő vagyok a visual basic kódsorainak írogatásában, gyakorlatilag még kezdőnek sem vagyok nevezhető. Segítenél, kérlek?
Pontosan hova és pontosan mit?
[ Szerkesztve ]
Intel G4560, AsRock B150M-HDS, 8Gb RAM
-
Delila_1
Topikgazda
válasz Belnir #29358 üzenetére
Kikeresed a BeforeClose makrót, legörgetsz az aljára.
Az Application kezdetű sor A betűje elé állsz, Enter. Kaptál fölötte egy üres sort. Oda írd be az
ActiveWorkbook.Save szöveget.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz poffsoft #29356 üzenetére
Kukkants ide, és az előzményre.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
poffsoft
addikt
válasz Belnir #29358 üzenetére
majd belejössz!
Én amúgy a "Rejtett" lapot minden futtatáskor rejtetté is tenném, biztos ami tuti... Ha nem látják, nem szerkesztenek bele...
Az Application.ScreenUpdating = False után: (de ez nem biztos, hogy kell..)
Worksheets("Rejtett").Visible = xlSheetVisible
Az Application.ScreenUpdating = True elé:
Worksheets("Rejtett").Visible = xlSheetVeryHidden
Delila_1: tudom, olvastam . Örülök, hogy használod
[ Szerkesztve ]
[ Szerkesztve ]
-
Márkó20
újonc
válasz Delila_1 #29366 üzenetére
De jó, köszi. A képek azok a fülek, van egy INBOUND, OUTBOUND és Summary ahol a Balance képlete is látszik.
http://prohardver.hu/dl/upc/2015-11/04/487992_phz9ml1cbqjdhcgm_3.png
http://prohardver.hu/dl/upc/2015-11/04/487992_gr5r4kjgcfsukdrb_2.png
http://prohardver.hu/dl/upc/2015-11/04/487992_qiwjkhpjar21yes8_1.png[ Szerkesztve ]
-
bsh
őstag
válasz poffsoft #29356 üzenetére
most ezt úgy kérdezem, hogy ekcellhez nem értek, meg nem is próbálom ki mert őőőő ezer a dolgom de ez hogyan is akar működni? bezárás előtt beleír a táblázatba, amitől az megváltozik. ilyenkor nem ajánlja fel a mentést az ekcszell? mert akkor megint ment, de ugye afters
have megint beleír, amitől megint nem tudod bezárni, goto 10, nem?[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz Márkó20 #29369 üzenetére
Hát ezekről a sorazonosítók lemaradtak. Az sem látszik, melyik lap milyen névre hallgat.
Legjobb lenne, ha feltöltenéd a füzetet egy elérhető helyre (pl. a data.hu-ra), mindegyik lapon pár sor adattal. Ahol összesíteni akarod, ott billentyűzetről vidd be, minek kell majd ott szerepelnie. Jelölheted ezeket a cellákat pl. sárga háttérrel.
Mikor feltöltötted a füzetet, másold a megadott linket. Gyere ide vissza. A válasznál a Link gombot nyomd meg, és a megjelenő rovatba illeszd be a linkedet.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
poffsoft
addikt
én sem értek hozzá.
Beleír, majd menti, megerősítő kérdés nélkül.
A kolléga problémája a sima ixre adott "Nem" mentjük válasz volt (meg nekem is).Lehetne játszani a dirty flagekkel, de ahhoz kellene, hogy ércsek hozzá, ami meg nem igaz.
De ha van elegánsabb, jobbszebb megoldásod, meghallgatunk
Amúgy szerintem -lajikusként- az exit eventben történő mentés után már nem tér vissza az afters
have eventbe, mert előtte megkapja a killt.De erről Delilát kérdezd inkább, ő tényleg ért hozzá.
üdv: latzi, üdv.
[ Szerkesztve ]
[ Szerkesztve ]
-
poffsoft
addikt
válasz Delila_1 #29368 üzenetére
Én abból indultam ki, hogy ha matatok rajta, immediate window-ból láthatóvá teszem, olvasgatom, copypaste-zom, esetleg úgy mentem el, hogy látható maradt... Mondjuk erre a workbook_open eventet kell inkább használni
asszem kicsit módosítom a saját verziómat...
[ Szerkesztve ]
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz poffsoft #29372 üzenetére
Poffsoft , Belnir és bsh
Tegnap csak a lényeg maradt ki, a figyelt lapok változásának a követése.
A megfigyelt laphoz kell rendelni a lenti 2 makrót, hogy az ezen történt változásokat is tárolják a Rejtett lapon. A "Rejtett" lap Visible tulajdonságát eleve xlSheetVeryHidden-re lehet állítani, azért a makró tud bele írni.
Public aktualis
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lastrow As Long
Dim akt_lap As String: akt_lap = ActiveSheet.Name
If Target.Count <> 1 Then Exit Sub
If aktualis = Target.Value Then Exit Sub
Application.ScreenUpdating = False
With Worksheets("Rejtett")
lastrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
With .Range("A" & lastrow)
.Offset(0, 0) = Target.Parent.Name 'A – hol volt változás
.Offset(0, 1).Value = Target.Address 'B – Változás helye
.Offset(0, 2).Value = Now() 'C – időpont
.Offset(0, 3).Value = aktualis 'D – változás előtti adat
.Offset(0, 4).Value = Target.Value 'E – változtatás utáni érték
.Offset(0, 5).Value = Environ$("username") 'F – felhasználó neve
.Offset(0, 6).Value = Environ$("computername") 'G – PC neve
.Offset(0, 7).Value = Environ$("userdomain") 'H – felh. domain
End With
End With
Worksheets(akt_lap).Activate
Selection.Activate
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
aktualis = ActiveCell.Value
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Belnir
csendes tag
Köszönöm Delila és poffsoft, mégegyszer!
Azonban maradtak még kérdések. Vérszemet kaptam...Azt szeretném, hogy:
1. valaki megnyitja a munkafüzetet
2. a megnyílás pillanatában mentsen automatikusan egyet, beírva, hogy ki mikor hol stb, ahogy most is faszán megy
3. ne kontárkodhasson bele, csak én - mivel mindenki a saját felh. nevével randalírozik, így gondolom kizárólagossá tehetem, hogy csak az én usernevem módosíthasson.
Tehát a random user hiába szűröget, hiába cellaformáz vagy csinál akármit, ne menthesse el a kontárkodását. A kódokat nézegetve szerintem ez megoldható, kicsit variáltam rajta, és ilyen rövid lett:Private Sub Workbook_Open()
Dim lastrow As Long
Application.ScreenUpdating = False
With Worksheets("Rejtett")
lastrow = .Range("A" & Rows.Count).End(xlUp).Row + 1
With .Range("A" & lastrow)
.Offset(0, 0).Value = "OPEN"
.Offset(0, 1).Value = ThisWorkbook.FullName
.Offset(0, 2).Value = Now()
.Offset(0, 3).Value = "'*"
.Offset(0, 4).Value = "'*"
.Offset(0, 5).Value = Environ$("username")
.Offset(0, 6).Value = Environ$("computername")
.Offset(0, 7).Value = Environ$("userdomain")
End With
End With
ActiveWorkbook.Save
Application.ScreenUpdating = True
End SubTesztelve, egyelőre hibátlan működést mutat.
[ Szerkesztve ]
Intel G4560, AsRock B150M-HDS, 8Gb RAM
-
bsh
őstag
válasz Delila_1 #29375 üzenetére
az eredeti kérdés csak a megtekintés (megnyitás) volt.
de én is kérdeznék, sőt kettőt is:
az első az erről a lastrow-ról jut eszembe, egy feladatnál kell nekem ilyen, de ez az egyszerű megoldás nem jó, mert nem feltétlen vannak minden oszlopban kitöltve a mezők, nincs olyan oszlop, amit hasznáhatnék az range-hez, mert lehet, hogy van annál hosszabb oszlop is. viszont a ctrl+end az rendesen a legutolsó sor legutolsó oszlopra ugrik. ezt nem lehet valahogy meghívni közvetlenül? vagy erre nincs valami gyors megoldás? (ha végignézem egyesével az oszlopokat, hogy melyik a leghosszabb, az nem elég gyors)a másik nekem bonyolultabb:
még a tegnap írt problémás userform-hoz jó lenne "cella"-szintű event handling. ezt én a kis egyszerű tudatlan fejemmel úgy képzeltem el, hogy "definiálok" egy saját combobox (és ugyanígy textbox) objektumtípust egy class modulban:
Class1:
public withevents eComboBox as ComboBoxés a kódban, ami generálja a userform-ban a "cellákat" ezt használnám a sima msforms.combobox helyett:
newCB = userform.frame.controls.add("msforms.combobox.1", név, true)
helyett:
newCB = userform.frame.controls.add("class1.ecombobox", név, true)persze ha ez működne akkor nem kérdezném, hogyan kell...
próbáltam úgy is, hogy ez előtt a sor előtt explicit megadom a newCB típusát:
dim newCB as class1.ecomboboxde én sajnos ezekhez már nem értek. találtam rá pár hasonló példát google-ben, de azokat sem bírtam értelmezni illetve nem működnek. szóval kis segítséget kérnék.
-
szatocs1981
aktív tag
válasz Belnir #29379 üzenetére
Windows alatt levéded (read_only) és magadat beteszed kivételbe.
PS: mondjuk ez akkor teljesen ellenben van az elözö kikötéseddel, miszerint:
"Azt szeretném, hogy:
1. valaki megnyitja a munkafüzetet
2. a megnyílás pillanatában mentsen automatikusan egyet, beírva, hogy ki mikor hol stb, ahogy most is faszán megy"[ Szerkesztve ]
-
Belnir
csendes tag
válasz szatocs1981 #29381 üzenetére
Lehet, hogy már túlbonyolódtam, és mindent akarok. Sajnos ez megesik néha velem. Összeszedem a gondolataim.
Adott egy munkafüzet, melyet a nagyfőnök utasítására készítettem. Bassza a csőröm, hogy a nagyfőnök baszik a munkafüzetre, ezért a közvetlen főnököm kérte, tegyek bele "figyelőt", hogy az arcába toljuk, hogy ő ugyan nem is nézi, ne legyek felesleges feladattal terhelve (mondjuk kb 2 mp napi tevékenység, de ezt nekik nem kell tudni). Kaptam egy szuper kódsort, működik, de feltűnt, hogy kilépés előtt írja be a tevékenységet, és akkor is ment egyet. Tehát ha valaki mégis megnézi, és használja a szűrőket pl, és dolga végeztével kilép, nyom egy nincs mentés gombot, akkor is elmenti a változtatásokat. Ezért áttettem ezt a részt a megnyitás pillanatához, hogy még mielőtt egy egérmozdulatot is tenne, mentődik a megnyitás tevékenysége. Utána matathat, de ha akarja menthet is. Na ez legutóbbit szeretném leszabályozni, hogy ha akar, menthet is legyen kizárva.
Ha valamit rosszul értelmeztem korábban, akkor bocsi.Windows alatt levéded (read_only) és magadat beteszed kivételbe.
A céges hálózatunk egy kicsit bonyolultabb ennél, ilyet nem tudok megtenni, mert amint megtagadom másoktól a jogokat, automatikusan megtagadom magamtól is.[ Szerkesztve ]
Intel G4560, AsRock B150M-HDS, 8Gb RAM
-
bsh
őstag
válasz Belnir #29382 üzenetére
túlbonyolítod. excelben le lehet simán védeni jelszóval a lapot módosítások ellen, vagy akár az egész munkafüzetet is.
de makróval is megoldható, csak ugye a makrók letilthatóak...én mondtam, hogy sokkal egyzserűbb egy külön logfájlba menteni a megnyitásokat/mentéseket/akármiket.
-
Belnir
csendes tag
Na, végül megtaláltam amit kerestem.
Intel G4560, AsRock B150M-HDS, 8Gb RAM
-
bara17
tag
Sziasztok!
A következő - egyszerűnek gondolt - kérdésem/feladatom lenne:
Van egy oszlopom, melyben a sorokban kb. így helyezkednek (a lista hossza, de a felépítés ugyanilyen)
5050
5050
5030
5030
5030
5010
5090
5090
5090
5090Így akarom színezni:
5050 sárgák
5030 nincs szín
5010 sárga
5090 nincs szín
és így tovább...Hogy kellene ezt nem manuális megcsinálni? Gondolom feltételes formázással kellene valamit bűvölni...
Köszönöm a segítséget!
-
lenkei83
tag
Sziasztok!
Inputboxnál hogyan tudom megkülönböztetni, hogy cancel-t nyomok, vagy üresen hagyom és OK-ot nyomok?
Mindkettő nulla értéket ad. Van erre valami megoldás?Köszi
P. -
Bobrooney
senior tag
Sziasztok!
Skacok olyan kérdésem lenne, hogy mindenképpen adatbázis fv-el kell megoldani a feladatot.
Azon emberek db száma kell Akiknek az E1-es oszlopban kisebb adatuk van mint az F1-esben, ezt hogy tudnám megtenni? Tudom hogy ez a paraméterem hibás "Adatok!E1<Adatok!F1"
Esetleg kritérium táblával hogy kellene?
=AB.DARAB(Adatok!A184;5;Adatok!E1<Adatok!F1)Köszi előre is!
-
sedyke
tag
Sziasztok!
Legyszi, tudnatok segiteni az alabbiakban?Van egy kisse komplikalt tablazatom. Korabban kaptam mar hozza segitseget, de az nem oldotta meg teljesen a problemat.
Az 1. munkafuzetben talalhato tablazatban szeretnem osszesiteni az adatokat, a 2. es 3. munkafuzetbol, meg pedig ugy, hogy ha az F1-es cellaba beirom az adott honap szamat, akkor a tablazat egyik feleben a vonatkozo honap adatait keresi ki, mig a masik feleben osszesiti az evben az adott honapig az ertekeket.
A gond azzal van, hogy az adatokat tartalmazo munkafuzeten sajnos vannak ismetlodesek. Egyes cegek ketszer is szerepelhetnek, igy a kepletnek nem csak egy sor adatait kellene osszegeznie, hanem ahol meg talalat van az adott cegre.
Lennetek olyan szivesek, hogy raneztek, hatha ti tudtok valami megoldast, amire nekem meg nem sikerult rajonnom?
Feltoltottem az alabbi helyre:https://docs.google.com/spreadsheets/d/1mgfRBzULb6xjnmUKUJSx8j8uAC-PNQvqIc6pROxWamw/edit?usp=sharing
Elore is nagyon szepen koszonom!!!
-
sedyke
tag
Lenne egy másik kérdésem is.
Milyen képlettel tudnám kiszedni a következő szövegből az első két kettőspont közötti részt, vagyis a 060-at?
146927:060: FLYNN (146927) Style: COL: CEDAR CALF / SZMUK: 06.0 /
Azért így kérdezem, hogy első két kettőspont közötti, mert változó számú tagok lehetnek előtte.
-
lenkei83
tag
válasz sedyke #29391 üzenetére
Szia!
A linken találod a filet. Működik, ha nem változtatsz az alaptáblán.
Amit pirossal jelöltem a 2015-ös fülön, azok nem szerepelnek az összesítő tábládban.Delila_1 ha van időd és energiád, ránézhetsz, hátha tudsz egyszeűbb, gyorsab, stb... megoldást. Engem is érdekelne.
üdv
P. -
bsh
őstag
válasz Delila_1 #29395 üzenetére
akartam írni, hogy ez egy szép kis képlet lesz, de megelőztél ha gyakran kell, akkor én ilyesmire inkább írnék egy saját függvényt:
Public Function TextSplit(TString As String, Delim As String, Pos As Integer) As String
TextSplit = Split(TString, Delim)(Pos)
End Function
'Használata: =TextSplit(A1;":";2)[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz lenkei83 #29396 üzenetére
Elég nehéz más gondolatmenetét követni, legalábbis nekem.
Arra figyeltem fel, hogy a Havi2015 és a Havi2016 makró összesen 3 helyen tér el, hasonlóan a Kum2015 és Kum2016-hoz.
Valószínű, hogy 1 makróba tettem volna a kettőt, pl. Évek címmel. Az egészet egy for-next-be tenném, ami 1-től 2-ig tart. Az eltérő soroknál feltételt tettem volna be.for év=1 to 2
...
if év=1 then set month1=range("month1") else set month1=range("month2")
...
nextProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Új hozzászólás Aktív témák
- Koreai autók topic (Kia, Hyundai, stb.)
- Crypto Trade
- Alternatív kriptopénzek, altcoinok bányászata
- Bemutatta első Snapdragon X-re épülő notebookját az ASUS
- Milyen okostelefont vegyek?
- Call center-forradalom: AI alakítja át az ideges telefonálók hangját
- sziku69: Fűzzük össze a szavakat :)
- Eredeti játékok OFF topik
- Háztartási gépek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen