-
Fototrend
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
-
Delila_1
Topikgazda
válasz zsotesz81 #6940 üzenetére
1. 2003-as verzióban a lapfüleket eltüntetheted az Eszközök/Beállítások/Megjelenítés fülön, ahol az ablakjellemzők csoportban kiveszed a jelölést a Munkalapfülek elől. A parancs megírása a váltáshoz biztosan nem okoz problémát, de akár hiperhivatkozással is közlekedhetsz a lapok között.
2. Egy másik cellában összegezheted az eddig beadott, és a most beírt értéket a Change esemény kezelésével.
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 mimi_bacsi #6960 üzenetére
Kell hozzá egy táblázat, ami a helységneveket, és a hozzájuk tartozó körzetszámokat tartalmazza, utána jöhet az FKERES függvény.
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 mimi_bacsi #6962 üzenetére
Ha nem jön össze, küldd el a fájlt, földim.
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 mimi_bacsi #6962 üzenetére
=ha(hossz(b2)>6;"";fkeres(.....))
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 mimi_bacsi #6964 üzenetére
Nézd meg a privátot!
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
A laphoz kell rendelned a rövid kis makrót:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Cells(2) = Date
End SubLaphoz rendelés: lapfülön jobb klikk, kód megjelenítése, a jobb oldalon kapot üres lapra másold be.
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
Az eredeti kérdésedben az A1 cellába beírt érték hatására jelenjen meg a dátum a B1-ben, a képen a D oszlopba írsz, és az E-be várod a dátumot. Nem mindegy!
Erre itt van a makró.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then Cells(Target.Row, 5) = Date
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.
-
Delila_1
Topikgazda
Egy új oszlopban számozd be a sorokat 1-től 4-ig (az első 4-et "gyalog", ezt lemásolod, utána a 8-at kijelölve végig másolod az oszlopban). Szűrsz a 4-es értékre.
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
Bekapcsolod az Adatok/Szűrő/Autoszűrőt.
A címsorban legördülőket, kis nyilakat kapsz. Ahova beírtad az 1-4 értékeket, a legördülőből kiválasztod a 4-est.Vagy egy másik lapon összegyűjtöd minden 4. sorodat. Az A1-be 1, A2-be 4 jön, ezt a kettőt együtt kijelölve lemásolod, ameddig kell. B1 képlete: =INDIREKT("Munka1!A"&A1) – ha a teljes táblázatod a Munka1 lapon van. A B1 képletét lemásolod, és ez a Munka1 lap A oszlopának minden 4. sorát adja majd.
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 ALbeeeee #6990 üzenetére
Szerintem 1-gyel több név van a cellában, mint vessző.
Józsi, Béla, Ancsa, Lujza -> 3 vessző, 4 név. Ha mégis azonos a nevek és a vesszők száma, a Vesszo=v+1 sorból töröld ki a +1-et.Írtam egy függvényt rá.
Function Vesszo(Cella As String) As Integer
Dim i As Integer, v As Integer
For i = 1 To Len(Cella)
If Mid(Cella, i, 1) = "," Then v = v + 1
Next
Vesszo = v + 1
End FunctionEzt bemásolod a fájlod VB szerkesztőjébe.
Alkalmazása: =Vesszo(A1) [ha a nevet tartalmazó cellád az A1]
Ugyanúgy másolható, mint a többi függvény.[ 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 mmarcimm #6996 üzenetére
A rendezett adatoknál egyszerű a dolgod.
Nem írtad, melyik oszlopokban vannak az adataid. Vegyük, hogy a rendezett oszlopod az A, és A2-ben kezdődnek a címsor miatt az értékek.
Felveszel egy új oszlopot, mondjuk az M-et. Az M2-be írj 1-et, az M3 cella képlete: =ha(A3=A2;0;1)
Ezt lemásolod az utolsó sorig, és egy SZUMHA képletben a tartomány az M oszlop lesz, a kritérium 1, az összeg_tartomány pedig az összegeket tartalmazó oszlop.[ 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 mmarcimm #6996 üzenetére
Azt hiszem, rájöttem, mire gondolsz.
Tehát C1-be 1, alá a képlet, amit a megjegyzésbe írtam. A D oszlop képlete a szerkesztőlécen látszik.
Utána a C oszlopban 0 értékeket tartalmazó sorokat autoszűrővel kigyűjtheted, és törölheted.[ 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
-
Delila_1
Topikgazda
válasz k.zola219 #7020 üzenetére
Sub valami()
Dim cv As Object
For Each cv In Range("C2:N40")
If IsEmpty(cv.Value) Then
Range(Cells(2, cv.Column), Cells(40, cv.Column)).Select
Selection.Delete Shift:=xlToLeft
End If
Next
End SubKérlek, legközelebb tisztelj meg azzal, hogy hamarabb reagálsz a válaszomra. Múltkor 9 perc alatt kaptad meg a megoldást, és csak 8 napra rá írtál. Szívesen segítek, de talán elvárhatom, hogy ne egy bő hét múlva közöld, mire mentél vele. Ne kelljen utólag kikeresnem, mi is volt az eredeti kérdés.
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 scott_free #7019 üzenetére
Nem látszik a képlet a szerkesztőlécen (védett lapon), ha a cellák formázásánál a Védelem fülön bejelölöd a Rejtett négyzetet.
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 WildBoarTeam #7024 üzenetére
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 k.zola219 #7027 üzenetére
Ímé:
Sub valami()
Dim cv As Object
For Each cv In Range("C2:N40")
If IsEmpty(cv.Value) And Application.CountA(Range(Cells(2, cv.Column), _
Cells(40, cv.Column))) = 0 Then
Range(Cells(1, cv.Column), Cells(40, cv.Column)).Select
Selection.Delete Shift:=xlToLeft
End If
Next
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.
-
Delila_1
Topikgazda
válasz Fire/SOUL/CD #7029 üzenetére
Nosza!
Működik.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 Fire/SOUL/CD #7031 üzenetére
Igazad van, nem kell. Elég a counta. (Nem rontotta el, csak felesleges).
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 Fire/SOUL/CD #7033 üzenetére
Nem jó az OR. Azt az oszlopot, ahol 1-2 adat hiányzik, nem kell törölni, csak azt, ahol a 2:40 sorok egyikében sincs adat. Ezért elég, ha az oszlop CountA értéke 0.
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
Elnézést, nem kapcsoltam be a Konvertálatlan módot.
=VLOOKUP(C2,Sheet1!A:B,2,0)
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 Benarivo #7040 üzenetére
Akkor az A:B tartomány helyett A-tól az utolsó kitöltött oszlopig adod meg a táblázatot, következő paraméter pedig a lekérdezendő adat oszlopszáma (pl. a mobilé 4)
=VLOOKUP(C2,Sheet1!A:D,4,0)Írd be a címsort a Sheet2-re. A telefon cím alá jön az azt kikereső Vlookup, a címhez a címé, stb.
A felhasználó beírja a nevet, és mellette azonnal megjelenik minden hozzá tartozó adat.
[ 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 Benarivo #7043 üzenetére
Ennek így nem sok értelmét látom, mert ha már kikerested, hogy a név hanyadik sorban van, és melyik oszlop tartalmazza a kérdéses tartalmat, akkor már ott van az érték is.
Azért az E2 képlete:
=INDIRECT("Sheet1!" & CHAR(C2+64) &D2+1)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 Fire/SOUL/CD #7045 üzenetére
Ha mindenképp másik lapon szeretné látni a kikeresett értéket, akkor érdemes a Sheet1 lapon nevet adni az A oszlop neveit tartalmazó tartománynak, a Sheet2-őn C2-be bevinni egy érvényesítést a nevekről, a D2-be újabb érvényesítés a címekről (névadás után) – de mindegyiket lehet direkt címzéssel is –, végül az E2-be
=VLOOUP(C2,Sheet1!A:R,MATCH(D2,Sheet1!1:1,0),0)[ 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 Benarivo #7046 üzenetére
Ha nem tudod, hogy kell elnevezni egy-egy tarományt, és hogy kell bevinni érvényesítést, biztosan jön hamarosan valaki ide a fórumra, aki leírja, hogy az angol Exceledben hogyan tudod ezeket elérni.
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 Benarivo #7049 üzenetére
Akkor legegyszerűbb, amit Fire ajánlott.
A Sheet1 lapodon bekapcsolod a Data/Filter/Autofiltert. A címsorokban kis nyilak jelennek meg. Az A oszlopban ennek a legördülőnek a segítségével kiválasztott nevet, és akkor csak az ő sorához tartatozó adatok látszanak majd.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 Benarivo #7051 üzenetére
Megpróbálom én.
Kijelölöd A2-től a neveidet, és nevet adsz a tartománynak, ahogy a képen látod.
Hasonlóan kijelölöd az A1:R1 tartományt, és a Címsorok nevet adod neki.
A Sheet2 lapon beállsz a C2 cellába. Az érvényesítésnél a listát választod a legördülőből, a forráshoz pedig beírod: =Nevek
A D2 cellán állva újabb érvényesítés következik, aminek a forrása a Címsorok.
Ezekből az elkészült legördülőkből kiválasztod a nevet, és az oszlopcímet. Az E2 cellába beírod a képletet, amit a #7047-ben írtam.[ 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 nagytomi10 #7088 üzenetére
Hibakezeléssel:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("Találatok").Select
ActiveSheet.Rows("2").Select
ActiveSheet.Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
sor_k = 2
sz = Sheets("Munka2").Cells(1)
Sheets("Munka1").Select
On Error GoTo Hiba
Cells.Find(What:=sz, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
sor = Selection.Row: sor_m = sor + 1
Rows(sor).Copy Sheets("Találatok").Rows(sor_k)
sor_k = sor_k + 1
Do 'Keresés ismétlése
Cells.FindNext(After:=ActiveCell).Activate
sor = Selection.Row
Rows(sor).Copy Sheets("Találatok").Rows(sor_k)
sor_k = sor_k + 1
Loop While sor >= sor_m
Sheets("Találatok").Select
usor = ActiveSheet.UsedRange.Rows.Count + 1
ActiveSheet.Rows(usor).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Cells(1).Select
Application.ScreenUpdating = True
Exit Sub
Hiba:
MsgBox "Nincs '" & sz & "' érték a Munka1 lapon"
End Sub2003-as verzióban írtam, ahhoz nem kellett az ActiveSheet. Látom, áttetted a Munka2!A1-be a keresendő értéket. Jobb, mert ha az adatok között egyébként nem szerepelne, a Find ezt az egyet megtalálná.
[ 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 nagytomi10 #7088 üzenetére
Az
usor = ActiveSheet.UsedRange.Rows.Count + 1
végéről töröld ki a +1-et.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
Az első érvényesítés (F1) az osztályfőnökök neveit hozza, az A1:D1 tartományt.
Az osztályoknak így adj nevet: kijelölöd az A1:A20 tartományt, Beszúrás - Név - Létrehozás - Felső sorból.
A G1 érvényesítésénél a forrás: =INDIREKT(F1)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 Fire/SOUL/CD #7113 üzenetére
Próbáltam ofszettel megadni az egyes csoportok területét, de valamiért nem fogadta el, pedig sokszor alkalmaztam már máskor.
Oly
Ha az ofszet képlet darab2-részében fixen megadod a sorokat is, akkor semmi szükség a teljes képletre. Annyi erővel a névadásnál is megadhatod fixen a tartományt.=OFSZET(Munka1!$F$2;0;0;DARAB2(Munka1!$F$2:$F$11);1) helyett
=OFSZET(Munka1!$F$2;0;0;DARAB2(Munka1!$F:$F);1) lenne jó, csak valamiért most nem fogadja el nálam sem.Viszont van egy jó hírem, ha az egyes csoportokban legalább 10 adat van. Az érvényesítés legördülője 10 sort mutat. Nem lesznek üres sorok, ha a névadást így végzed:
1. az egyes oszlopokban csak a csoportok elemei legyenek, tehát a csoport neve, ahova tartoznak, ne virítson az első sorban.
2. kijelölöd a teljes oszlopot, és a szerkesztő sor bal oldalán lévő "Név mező"-be beírod a csoport nevét. Ez ugyanaz legyen, ami az első érvényesítésben szerepel.
3. beviszed a 2. érvényesítésbe az indirekt függvényt.Az egyes csoportok bővülését automatikusan követik majd a második érvényesítések.
(ezt valahogy értelmesebben is meg lehetett volna fogalmazni)Programozó: 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
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen