-
IT café
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
-
Véreshurka
senior tag
válasz tomi_x #44087 üzenetére
Saját parasztos megoldásom (biztos van elegánsabb is):
Ha kijelölöd a cellákat amiket védeni szeretnél, akkor jobb klikk --> cellaformázás --> védelem --> zárolt, majd véleményezés menüpont és ott a lapvédelemmel tudod jelszóval védeni.
(#44088) Fferi50: alapvetően amikor létrehoztam a makrót már Sub - End Sub közé illesztettem mert már ott volt. De nagyon nem értem még a makrózást, csak a makrórögzítést szoktam használni... Lényeg, hogy megy. Sokszor elfelejtem képletek elől a HAHIBA-t és csak a végén jut az eszembe, ezután már nem lesz gond Köszi még egyszer!
[ Szerkesztve ]
El Psy Kongroo
-
Fferi50
őstag
válasz tomi_x #44091 üzenetére
Szia!
"amint egy cellába valaki beír adatot az zárolt legyen'"
Aztán, ha javítani szeretne az adaton, mert elírta, akkor mi lesz?
Ezt egyébként csak makróval lehet megcsinálni és védetté kell tenni a munkalapot hozzá.
Azt írtad, közösen használjátok. Ez mit jelent? Közös használatúvá van téve a munkafüzet vagy egyszerre csak egy user használhatja egy időben, de többen is beleírhatnak?
Egyébként nézd meg a munkalap védelmet. Ott lehet tartományokat rendelni userekhez, amiket csak meghatározott felhasználók módosíthatnak. Nem elég ez neked?
Üdv. -
Pakliman
tag
válasz tomi_x #44145 üzenetére
Az A oszlop tartalmazza az "azonosítót", az E oszlopba kell rakni a képletet.
A képen a D oszlop tartalmazza az értéket, amit összesíteni akarsz.
Ha a tényleges táblázatban ez a bizonyos D (vagyis az érték) nem szerepel, akkor hozd létre, mint segédoszlop és a képletben arra az oszlopra hivatkozz.[ Szerkesztve ]
-
Mutt
aktív tag
válasz tomi_x #44143 üzenetére
Szia,
Ha tényleg az kell hogy az ismétlődések maradjanak, és csak az utolsó előfordulásnál írja ki a szorzatösszeget, akkor ez a képlet:
=HA(DARABTELI(A$2:A2;A2)=DARABTELI(A$2:A$14;A2);SZORZATÖSSZEG(--(A$2:A$14=A2);B$2:B$14;C$2:C$14);"")
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Fferi50
őstag
-
félisten
válasz tomi_x #44390 üzenetére
Mert a VBA-ban az Angol függvénynevek és szintaktika érvényes.
pl: [kép] | [kép]Esetedben MID, CELL, FIND függvények és ezek paraméterei vesszővel elválasztva.
Sheets("Összesítés").Range("M2").Formula = "=MID(CELL("filenév",$A$1),1,(FIND("[",CELL("filenév",$A$1)))-1)"
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Fferi50
őstag
válasz tomi_x #44392 üzenetére
Szia!
Az idézőjeleket meg kell duplázni a képleten belül:Sheets("Összesítés").Range("M2").Formula = "=MID(CELL(""filename"",$A$1),1,(SEARCH(""["",CELL(""filename"",$A$1)))-1)"
Egyébként ha makró(részletet) v. képletet írsz, használd a "</>" kapcsolót (hátulról a harmadik).
Üdv.[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz tomi_x #45243 üzenetére
Kevés megjegyzés esetén rákattintasz a megjegyzésre, majd a Delete gombbal kitörlöd.
Sok megjegyzésnél érdemes egy rövid makró futtatni.
Sub OhneMegj()
Dim sz As Object
For Each sz In ActiveSheet.Comments
sz.Shape.Select True
Selection.Delete
Next
End SubLátod, a makró kijelöli, majd kitörli egyenként a megjegyzéseket. Ha elhagyjuk a kijelölést, valamiért a cella jobb felső sarkában megmarad a kis piros háromszög, és nem is enged új megjegyzést beszúrni oda.
Szerk.: Lehet, hogy a képen látható, megjegyzés kinézetű szöveg nem megjegyzés, hanem egy érvényesítéshez csatolt útmutató.
[ Szerkesztve ]
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 tomi_x #45916 üzenetére
A SZUMHATÖBB függvény a barátod.
Az I9 képlete=SZUMHATÖBB(B:B;A:A;H9;C:C;$H$5)+SZUMHATÖBB(B:B;C:C;$H$4;A:A;H9)
ennek alapján már meg tudod adni a J9 képletét.[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz tomi_x #45916 üzenetére
Szia!
Én csinálnék neki fejléceket az első sorba, ezután pedig kimutatást.
A kimutatásban sorcímke a nevek (A oszlop), oszlopcímke a tevékenység(D oszlop), az értékek pedig az órák (B oszlop) összesítve.
A tevékenységek közül pedig összevonnám amiket együtt szeretnék látni második oszlopcímkének.
Üdv. -
Delila_1
Topikgazda
-
-
Lasersailing
senior tag
válasz tomi_x #46141 üzenetére
Szia,
Ha a VBA-ban a makrót F8-al indítod el, akkor lépésenként látod, hogy mit csinál (Nem kell "Várj" típusú ellenőrzésekkel vesződni. Ha nagyon hosszú a makró futása, akkor a megfelelő sorra állva F9-el be tudod jelőlni, hogy ott álljon meg a makró futtatása. (piros lesz a kijelőlt sor. (ugyanezt elérheted az ablak bal szélén lévő sávra kattintva is).
(sárgával jelőli, hogy hol tart).Arra figyelj, hogy ha lépésenkénti futás közben pl. a kijelőlést megváltoztatod, akkor ő a változtatás hatásával megy tovább. Futás közben is lehet korlátozásokkal változtatni a makrót, sőt a sárga "csíkot" egérrel át lehet húzni máshova is. (ha pl. rájösz, hogy valami nem jó, akkor átírod, majd újra tudod lépésenként futtatni).
Szerk:
Az alábbi sor egyenlőségjele után kimaradt a ".value". Nem biztos, hogy ez a gond, de én beírnám:If Worksheets(1).Cells(i, 1).Value = Worksheets(1).Cells(kovetkezo_sor, 1).value Then
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz tomi_x #46141 üzenetére
Próbáld ezzel:
Sub Formazas()
Dim sor As Long, usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
If Cells(sor, 1) = Cells(sor + 1, 1) Then
With Range(Cells(sor, 1), Cells(sor, 15)).Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Range(Cells(sor, 1), Cells(sor, 15)).Borders(xlEdgeBottom).LineStyle = xlNone
Else
With Range(Cells(sor, 1), Cells(sor, 15)).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Range(Cells(sor, 1), Cells(sor, 15)).Font.ColorIndex = xlAutomatic
End If
Next
End Sub
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz tomi_x #46657 üzenetére
Szia!
Ahogyan a hiba leírás is mutatja, amennyiben nem talál ilyen tartalmú cellát, akkor az "a'" változó értéke Nothing - azaz üres. Egy nem létező objektumnak pedig értéke sincs.
Mielőtt további műveleteket végeznél, meg kell vizsgálnod, hogy van-e találat:'Set a= sor után
If a Is Nothing then
Msgbox "nincs"
Else
Msgbox "van"
End If
Üdv. -
sztanozs
veterán
-
-
Fferi50
őstag
-
Fferi50
őstag
válasz tomi_x #52332 üzenetére
Szia!
Akkor néz utána a többszintes adatérvényesítésnek, szerintem itt is van rá megoldás.
(első betű után szűkül az adatérvényesítési lista - talán ez elég is lehet, de a második után is lehet még szűkíteni.) Olyan pl. hogy fő lista zöldség, gyümölcs stb. alábontás paprika, paradicsom, sárgarépa stb ill. alma, narancs, körte stb.
Üdv.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs