- Android alkalmazások - szoftver kibeszélő topik
- CMF Buds Pro 2 - feltekerheted a hangerőt
- iPhone topik
- Samsung Galaxy Watch7 - kötelező kör
- Megjelent a Poco F7, eurós ára is van már
- Telekom mobilszolgáltatások
- One mobilszolgáltatások
- Vivo X200 Pro - a kétszázát!
- Mobil flották
- Okosóra és okoskiegészítő topik
-
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
-
Delila_1
veterán
A j = WorksheetFunction.CountIf(Range("D1:" & "D" & _
(fél) sor normálisabban
j = WorksheetFunction.CountIf(Range("D1:D" & _A másik:
MsgBox ("A TextBox1 tartalma (" & Munka1.TextBox1.Text & _
") már szerepel a D oszlopban") -
Delila_1
veterán
válasz
ALbeeeee #7282 üzenetére
Igen.
Kimerítő válasz
Egy picit szépítettem a hosszabb makrón (Fire, utólagos engedelmeddel)
Sub Téglalap()
Sheets("Munka2").Activate
Cells(Sheets("Munka2").Rows.Count, "D").End(xlUp).Offset(1, 0).Select
If Munka1.TextBox1.Text <> "" Then
j = WorksheetFunction.CountIf(Range("D1:" & "D" & _
ActiveCell.Row), Munka1.TextBox1.Text)
If j = 0 Then
ActiveCell = Munka1.TextBox1.Text
Else
MsgBox ("A TextBox1 tartalma (" & Munka1.TextBox1.Text & _
") már szerepel a D" & " oszlopban")
End If
Else
MsgBox ("A TextBox1 üres!")
End If
Munka1.TextBox1.Text = ""
Sheets("Munka1").Select
End Sub -
Delila_1
veterán
válasz
ALbeeeee #7279 üzenetére
A Munka1 laphoz két makrót kell illesztened – a VBE-ben bal oldalon a Munka1-en dupla klikk-re kapott üres lapra:
Private Sub Worksheet_Activate()
If Cells(11, 6) = 2 Then
TextBox1.Visible = True
Else
TextBox1.Visible = False
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$11" Then
If Target.Value = 2 Then
TextBox1.Visible = True
Else
TextBox1.Visible = False
End If
End If
End SubA Module1 laphoz:
Sub Lekerekítetttéglalap_9_Kattintáskor()
myCol = "D"
Sheets("Munka2").Activate
Cells(Sheets("Munka2").Rows.Count, myCol).End(xlUp).Offset(1, 0).Select
If Munka1.TextBox1.Text <> "" Then
j = WorksheetFunction.CountIf(Range(myCol & "1:" & myCol & ActiveCell.Row), Munka1.TextBox1.Text)
If j = 0 Then
ActiveCell = Munka1.TextBox1.Text
Else
MsgBox ("A TextBox1 tartalma már szerepel a " & myCol & " oszlopban")
End If
Else
MsgBox ("A TextBox1 üres!")
End If
Munka1.TextBox1.Text = ""
Sheets("Munka1").Select
End SubEzt a makrót kell hozzárendelned az alakzatodhoz.
-
Delila_1
veterán
válasz
Fire/SOUL/CD #7274 üzenetére
Igaz, a "ha nincs már ilyen az oszlopban" leírásra nem figyeltem.
-
Delila_1
veterán
Ma a saját hozzászólásaimról is kapok üzenetet. Igaz, feledékeny vagyok, de nem ennyire!
-
Delila_1
veterán
válasz
Fire/SOUL/CD #7270 üzenetére
#7264: "jó így, hogy az utolsó helyre pakol elvileg nem lesz közben üres cella."
Akkor minek ez az összetett kód?
-
Delila_1
veterán
válasz
Fire/SOUL/CD #7258 üzenetére
Milyen eseményhez rendeled?
-
Delila_1
veterán
válasz
Fire/SOUL/CD #7258 üzenetére
Úgy gondolom, ha a TextBox1-gyel íratja folyamatosan az adatokat a D oszlopba, akkor ott nem lehet folytonossági hiány.
Persze lehet, hogy "gyalog" is ír az oszlopba. -
Delila_1
veterán
-
Delila_1
veterán
válasz
basaharc502 #7248 üzenetére
Szerintem a nyomtató telepítésénél, beállításánál kell kapisgálni.
-
Delila_1
veterán
válasz
kenesei1982 #7238 üzenetére
Még jobb.
-
Delila_1
veterán
válasz
kenesei1982 #7236 üzenetére
C1-be beírsz egy 1-est, C2-be 5-öt, vagyis az elsőnél 4-gyel nagyobb számot. Ezt lemásolod, ameddig kell.
B1-ben a függvényed =MID(A1,C1,4). Ezt másold.Jól adtad meg a függvényt? Ha angol az Exceled, és MID függvényed van, akkor nem pontosvessző, hanem vessző az elválasztó jel az argumentumok között, magyar nyelvű Excelnél viszont nem MID, hanem KÖZÉP a függvényed neve.
-
Delila_1
veterán
válasz
Fire/SOUL/CD #7218 üzenetére
Igaz.
-
-
Delila_1
veterán
válasz
VANESSZA1 #7187 üzenetére
Innen letölthetsz egy füzetet, amiben 3 féle dinamikus grafikont találsz, közöttük az 1 éves időszakot mutatót is az "interaktív" lapon.
Az előállításukhoz az OFSZET függvények segítségével előállított neveket nézd meg (Beszúrás, Név).
Nagyon jó leírást találsz a PC WORLD 2008. májusi számában a témáról, Weisz Tamás tollából a 108. oldalon. -
Delila_1
veterán
válasz
ro_bert17 #7165 üzenetére
Biztosan van az adataid között olyan, amivel a nevet összefűzve már egyedi értékeket kapsz (pl. név, és cím, vagy anyja neve). Ha ez a plusz adat mindkét listában megtalálható, akkor mindegyiknél beiktatsz egy-egy segédoszlopot az összefűzéssel, és ezt keresteted az Fkeres függvénnyel.
Vagy a 100 fős listát rendezed, és az azonos nevűeknél gyalog átírod a munkakört, biztosan nincs túl sok egyforma név. -
Delila_1
veterán
válasz
nagytomi10 #7143 üzenetére
Azért töröltetettem ki az utolsó sort, mert a Do - Loop ciklusban az első találat sorát az utolsó után mégegyszer beírja.
Ha kijelölsz egy területet (pl. Range("A1100").select), akkor azon a területen keres a Find.
-
Delila_1
veterán
Na, még egy, makrós megoldás Olynak
A laphoz rendelt makró
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$3" Then
oszlop = Application.Match(Target, Range("A1:F1"), 0)
x = Cells(65536, oszlop).End(xlUp).Row
Names.Add Name:="asdf", RefersTo:="=" & Range(Cells(2, oszlop), Cells(x, oszlop)).Address
Range("I3").ClearContents
End If
End Sub -
Delila_1
veterán
válasz
Fehér Mancs #7131 üzenetére
Az nem megy.
, a dinamikusan definiált nevet nem fogadja el az érvényesítés.
-
Delila_1
veterán
válasz
Fire/SOUL/CD #7115 üzenetére
Úgy látszik, az érvényesítésben nem fogadja el az ofszetet, dinamikus diagramoknál viszont kiválóan működik.
-
Delila_1
veterán
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) -
Delila_1
veterán
válasz
nagytomi10 #7088 üzenetére
Az
usor = ActiveSheet.UsedRange.Rows.Count + 1
végéről töröld ki a +1-et. -
Delila_1
veterán
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á.
-
Delila_1
veterán
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. -
Delila_1
veterán
-
Delila_1
veterán
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) -
Delila_1
veterán
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.
-
Delila_1
veterán
Elnézést, nem kapcsoltam be a Konvertálatlan módot.
=VLOOKUP(C2,Sheet1!A:B,2,0)
-
Delila_1
veterán
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.
-
Delila_1
veterán
válasz
Fire/SOUL/CD #7031 üzenetére
Igazad van, nem kell. Elég a counta. (Nem rontotta el, csak felesleges).
-
Delila_1
veterán
válasz
Fire/SOUL/CD #7029 üzenetére
Nosza!
Működik. -
Delila_1
veterán
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 Sub -
Delila_1
veterán
válasz
WildBoarTeam #7024 üzenetére
-
Delila_1
veterán
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.
-
Delila_1
veterán
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.
-
Delila_1
veterán
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. -
Delila_1
veterán
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. -
Delila_1
veterán
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.
-
Delila_1
veterán
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 Sub -
-
Delila_1
veterán
válasz
mimi_bacsi #6964 üzenetére
Nézd meg a privátot!
-
Delila_1
veterán
válasz
mimi_bacsi #6962 üzenetére
=ha(hossz(b2)>6;"";fkeres(.....))
-
Delila_1
veterán
válasz
mimi_bacsi #6962 üzenetére
Ha nem jön össze, küldd el a fájlt, földim.
-
Delila_1
veterán
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.
-
Delila_1
veterán
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.
-
Delila_1
veterán
Új hozzászólás Aktív témák
Hirdetés
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Hálózati / IP kamera
- Vezetékes FEJhallgatók
- A Micron újszerű módszerrel javítja QLC-s SSD-jének sebességét
- Otthoni időjárás-állomás
- Dune Awakening - Máris túl az 1 millión
- Konzol Screenshot
- Mesterséges intelligencia topik
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Gyermek PC játékok
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- HGST HUH721010AL5200 10TB 7.2k SAS HDD, DELL branded, nettó 38000Ft + ÁFA, 1 év garancia
- Bomba ár! HP EliteBook 8460P - i5-2GEN I 4GB I 320GB I DVD I 14" HD I W10 I Garancia!
- PlayStation Plus Premium 24 hónapos előfizetés , egyenesen a Sony-tól!
- AKCIÓ! ASUS STRIX B650E-E R7 7700 64GB DDR5 1TB SSD RTX 3080 10GB Thermaltake Ceres 500 850W
- BESZÁMÍTÁS! ASUS B450 R7 1700X 16GB DDR4 512GB SSD RX 580 8GB Rampage SHIVA Corsair 450W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest