-
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
veterán
Köszönöm! Ennek megfelelően módosítva a makró
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ShapeDel As Integer
Dim wPath As String
If Target.Address = "$A$1" Then
ShapeDel = ActiveSheet.Shapes.Count
Do
If Shapes(ShapeDel).Type <> 8 Then Shapes(ShapeDel).Delete
ShapeDel = ShapeDel - 1
Loop While ShapeDel > 0
Range("B5").Select
Select Case Range("A1").Value
Case "pic1"
wPath = ThisWorkbook.Path & "\pic1.jpg"
ActiveSheet.Pictures.Insert (wPath)
Case "pic2"
wPath = ThisWorkbook.Path & "\pic2.jpg"
ActiveSheet.Pictures.Insert (wPath)
Case "pic3"
wPath = ThisWorkbook.Path & "\pic3.jpg"
ActiveSheet.Pictures.Insert (wPath)
End Select
End If
End SubRemélem, whatnot is ellátogat újra.
-
Delila_1
veterán
válasz
whatnot
#17227
üzenetére
Eddig én sem tudtam, most próbáltam ki. Igazából nem az érvényesítés, hanem annak a látható jele, a nyíl a kép. Úgy látszik, ezt veszi első számú képnek – mivel ezt viszed be elsőként a lapra. A For Each ciklussal az összes képet töröltetted, közöttük az elsőt is.
Több próbát tettem, többször betöltöttem az érvényesítéssel a kiválasztott képet, minden rendben volt, de épp az előző percben megint eltüntette a nyilat.
-
Delila_1
veterán
-
Delila_1
veterán
Legyen 2 lap a füzetedben. Egyik az űrlap, a másik, ahol a szövegek vannak 3 oszlopban.

Az űrlapra kiteszel egy űrlap vezérlőelemet, a kombipanelt. A bemenet forrása a másik lap F1:F3 tartománya, cellacsatolás az Űrlap!H1 cella.
A szövegeket össze-vissza helyeztem el. A B3 cella képlete látszik a szerkesztőlécen. Az INDEX függvény első paramétere a tartomány, ahonnan az adatokat veszed – jelen esetben $A$2:$C$7. Második a sor, az első szöveg esetén ez a tartomány első sora, ez változik a többi képletnél. Harmadik paraméter a tartomány oszlopa, amit a kombipanel csatolt cellájára hivatkozva adhatsz meg. -
Delila_1
veterán
válasz
BenJoe80
#17203
üzenetére
Szia!
Valószínűleg nem jól fogtál hozzá, ha egy délutánt vett igénybe.
Az ilyen éves számolást úgy érdemes összeállítani, hogy megcsinálod az első hónapot, utána ezt a kész lapot másolod 11-szer (Ctrl-t nyomod, közben a lapfület jobbra húzod). Akkor már csak a lapfüleket kell átnevezni, és jöhet az összesítő lap. Ott beírod a két képletet az első hónapra, lemásolod a többi mellé, majd átírod a hivatkozásoknak a lapra történő részét.Az összegzéshez lehetne alkalmazni az INDIREKT függvényt, hogy ezt a 12 db átírást se kelljen végrehajtani. A 17195-ös hsz. képe szerint a B2 cella képlete =SZUM(INDIREKT(A2&"!B:B")) lehetne. Ezt azért nem ajánlom, mert az INDIREKT un. volatilis függvény, bármi változás történik a füzetben, az ezt tartalmazó cellák újraszámolódnak. 12 db-nál ez nem sok, de ha sok ilyen függvény van a füzetedben, észrevehetően lassítják a számolást.
Ebből az első lap megtervezése az, ami hosszabb időt vehet igénybe.
Ráment a délutánod, de innen kezdve egész évben csak az adatokat kell beírnod, jövőre a más néven mentett füzetből pedig kitörlöd az adatokat. Kijelölöd együtt a 12 lapot, és az aktuálisról törlöd azt, ami nem kell.

-
Delila_1
veterán
A VKERES függvény is tud bármilyen adatot keresni. Azt hiszem, újra be kellene dobnod egy képet.

Egyébként ha van egy számod, pl. 2, akkor az =karakter(2+64) megadja a B betűt.
Ez abból adódik, hogy az Excel a betűket is számként (ASCII érték) kezeli. Az A karakter ASCII értéke 65. -
Delila_1
veterán
válasz
BenJoe80
#17193
üzenetére
Akkor vegyél fel egy összesítő lapot, ahova hivatkozással beviszed a 12 lap bevételeit és kiadásait, és ebből készíts diagramot. Mivel az Összesítő lapon a SZUM képletben teljes oszlop szerepel, a frissítés biztosított.
A szerkesztőlécen az Összesítő lap B2 cellájának a képlete látszik.
-
Delila_1
veterán
válasz
m.zmrzlina
#17189
üzenetére
Szívesen.

-
Delila_1
veterán
válasz
m.zmrzlina
#17184
üzenetére
Nézd meg ezt a kis makrót, ami az "azonosító" tartalmú cellát keresi meg az aktív lapon.
Sub azonosito_oszlopa()
Dim C As Range
Set C = ActiveSheet.Cells.Find("azonosító")
If Not C Is Nothing Then
MsgBox "Az azonosító mező a(z) " & C.Column & ". oszlopban van"
Else
MsgBox " Az azonosító mező nem található."
End If
End Sub -
Delila_1
veterán
válasz
BenJoe80
#17181
üzenetére
Több tartományból készíts kimutatást. Előtte az egyes lapokon érdemes listává alakítani a táblázataidat az adatok egyik celláján állva Ctrl+r-rel. Több lap adataival még nem próbáltam az automatikus frissítést, de 1 lapnál frissít, ha lista a forrás.

A kimutatással együtt frissül a diagram is.
-
Delila_1
veterán
válasz
m.zmrzlina
#17180
üzenetére
Próbáltad lenullázni a hibakódot a hianyzoport végén on error goto 0-val?
-
Delila_1
veterán
válasz
Geryson
#17176
üzenetére
Nem.
Beviszed valahova a részösszeg függvényt. Ha nem az összegzendő oszlopba teszed, akkor a teljes oszlopot is megadhatod tartománynak. =részösszeg(9;"C:C"), ha az összegzendő oszlopba viszed, akkor a pontos tartományt add meg. =részösszeg(9;"C2:C1400")
Itt a 9 a függvényszám, ami azt jelzi a függvénynek, hogy a tartomány összegét adja eredményül.
Ezután szűröd a tartományt a dátum oszlopban kedved szerint. A függvény mindig az aktuális szűrésben látható cellák összegét adja. -
Delila_1
veterán
=INFÓ("memfoglalás") az adatok által használt memória mérete bájtban. Ezt oszthatod 1024-gyel.
Szerk.:
Ez a súgó szerint igaz, de kipróbálva elég furcsa értéket ad.Újabb szerk.: persze, mert nem a fájl méretét, hanem az általa lefoglalt memóriáét adja. Szóval rossz válasz.

-
Delila_1
veterán
válasz
Chrisluke
#17140
üzenetére
Vegyük, hogy az értékeid az A oszlopban vannak, A1-től kezdve.
Megadod egy cellában a százalékot, amivel növelni kell kell az értékeket. Legyen ez a cella a példában az E1. A cella formátuma legyen százalék (5%), vagy általános formátum (0,05).
Az összegző cella képlete =A1*(1+$E$1), ezt másold le a többi, A oszlopban lévő adatod mellé. -
Delila_1
veterán
válasz
Fire/SOUL/CD
#17139
üzenetére
Igen, minden dupla szóközből egyet hagy meg, ezt nem írtam.

-
Delila_1
veterán
-
Delila_1
veterán
válasz
m.zmrzlina
#17114
üzenetére
Szívesen.
-
Delila_1
veterán
MsgBox ThisWorkbook.BuiltinDocumentProperties("Creation Date")
Hasonló módon lekérdezhető adatok:
Title Last Author
Total Editing Time
Format
Number of Slides
Subject
Revision Number
Number of Pages
Manager
Number of Notes
Author
Application Name
Number of Words
Company
Number of Hidden Slides
Keywords
Last Print Date
Number of Characters
Number of Bytes
Number of Multimedia Clips
Comments
Creation Date
Security Number of Lines
Hyperlink Base
Template
Last Save Time
Category
Number of Paragraphs
Number of Characters (with spaces) -
Delila_1
veterán
Valószínű, hogy a SZUMHA függvénnyel megoldhatod. Az első lapon 1, a másodikon 7 oszlop adatait kell ezzel a függvénnyel összegezned.
Első lap:
=szumha(tartomány;kritérium;összegtartomány)Második lap:
=szumha(tartomány;kritérium;összegtartomány_1_oszlopa)+szumha(tartomány;kritérium;összegtartomány_2_oszlopa)+.....szumha(tartomány;kritérium;összegtartomány_7_oszlopa) -
Delila_1
veterán
válasz
m.zmrzlina
#17068
üzenetére
Az On Error Resume Next megadásakor nem áll le a program, hanem a következő sorra ugrik.
Az On Error Goto 0 kapcsolja ki.Amit küldtem, abban az On Error Goto Hiba sorral a Hiba címkére küldöm hiba esetén, ami egy üzenetet küld arról, hogy létezik már azonos nevű lap.
-
Delila_1
veterán
válasz
m.zmrzlina
#17066
üzenetére
Elküldöm az én füzetemet.
-
Delila_1
veterán
válasz
m.zmrzlina
#17063
üzenetére
Ez a módosítás csak a futás idejét befolyásolja, a működését nem.
-
Delila_1
veterán
válasz
m.zmrzlina
#17057
üzenetére
Nálam hibára fut, ahogy várod.
Többször láttam, hogy a for-next ciklusban a tól-ig határt a valami.count-tal adod meg. Ez azt eredményezi, hogy szegény gépnek minden ciklusban ki kell számolnia, mennyi az a bizonyos count. Célszerűbb egy változóban előre megadni ezt az értéket, gyorsít a futáson.
-
Delila_1
veterán
A RÉSZÖSSZEG függvény segítségével ezt ár lehet hidalni.
A szűrt állomány adataival számol, a mindenkori szűrésnek megfelelően. A függvényszámtól (súgó) függően összeget, darabszámot, átlagot, minimumot, stb. tudsz vele számolni oszloponként.
Itt az egyik oszlop összegét kell majd osztanod a másik oszlop darabszámával.
-
Delila_1
veterán
válasz
m.zmrzlina
#17046
üzenetére
Szívesen.
Mutt is írt egy változatot, nézd meg.
-
Delila_1
veterán
válasz
atillaahun
#17040
üzenetére
Excelbarát 17042-es válasza remek, azzal a különbséggel, hogy ne @-ot, hanem pl. egy pontot írj az üres cellákba. Az Ugrás menü a Ctrl+g kombinációval jön elő 2003-tól a 2010 verzióig.
-
Delila_1
veterán
válasz
m.zmrzlina
#17035
üzenetére
On Error Resume Next
Workbooks.Open Filename:= utvonal & fájlnévHa már meg van nyitva az utvonal és a fájlnév változókban meghatározott fájl, nem fut hibára a makró.
-
Delila_1
veterán
válasz
atillaahun
#17032
üzenetére
Az üres sorok után – ha feltétlen kellenek üres sorok – újabb autoszűrőt rakj be.
Ha csak valami csicsás forma miatt hagysz üreseket, az egyik cellába írj valamit, és a karakter színét állítsd a háttér színére. Akkor a szűrő 1 táblának veszi az adatokat. -
Delila_1
veterán
válasz
D.Orion
#17008
üzenetére
Jelöld ki a tábládat. Mivel a címsorban egyesített cellák vannak, anélkül (A9:AE...)
Kezdőlap | Szerkesztés | Rendezés és szűrés | Egyéni sorrend. "Az adatok fejlécet tartalmaznak" négyzet NE legyen bejelölve. A Rendezés legördülőben add meg, melyik oszlop szerint akarod rendezni.
Adhatsz ezen belül is újabb szempontot. -
Delila_1
veterán
válasz
BuktaSzaki
#17002
üzenetére
Ez a dolga, szívesen.

-
Delila_1
veterán
válasz
BuktaSzaki
#16994
üzenetére
G1-be:
=HA(DARABTELI(B:B;A1)=0;"Nincs";"")Ezt a képletet másold le addig a sorig, ahol az A oszlopban még van adat.
-
Delila_1
veterán
válasz
ricshard444
#16974
üzenetére

-
Delila_1
veterán
válasz
ricshard444
#16972
üzenetére
Mert a képletet másolod.
Jelöld ki a másolandó területet, Crrl+c-vel tedd a vágólapra.
Állj abba a cellába, ahova az első értéket akarod tenni.
Jobb klikk, Irányított beillesztés, Értéket. -
Delila_1
veterán
válasz
ricshard444
#16970
üzenetére
Csak időt kell adni érte....

Szívesen.
-
Delila_1
veterán
válasz
ricshard444
#16968
üzenetére
Kijelölöd a B oszlopot. Kezdőlap, jobb oldalon a távcső, csere.
Keresett szöveghez írj egy pontot, a másik rovatba vesszőt. "Az összes cseréje" gomb elvégzi a feladatot. -
Delila_1
veterán
válasz
ricshard444
#16966
üzenetére
Cseréld ki a pontokat vesszőkre.
-
Delila_1
veterán
válasz
ricshard444
#16964
üzenetére
Megeshet, hogy nem mindegyik alakult számmá, de ezt most megoldjuk.
Írj egy üres cellába egy egyest. Másold Ctrl+c-vel.
Jelöld ki a kérdéses tartományt (első cellán állsz, Shift+Ctrl+le nyíl). Jobb klikk, Irányított beillesztés, szorzás.Ezzel az egész tartományt felszorzod 1-gyel, és egyúttal számmá alakítod, ha valamelyik mégsem az.
-
Delila_1
veterán
válasz
ricshard444
#16962
üzenetére
Állj az első, látszólag számot tartalmazó cellára. Vedd hozzá a következőt a kijelölésben. Ha lent, a státuszsorban látod az összegüket, számokat tartalmaznak, ha nem, továbbra is szövegek.
-
Delila_1
veterán
válasz
ricshard444
#16958
üzenetére
Valószínű, hogy szövegként szerepelnek a cellákban a számok. A szövegből oszlopok elkészítésénél add meg, hogy számként kezeljen mindent, ami annak látszik.
Technikai tippek, hogy ne teljen el az ifjúságod a képernyő görgetésével:
1. A1-en állva Shift+Ctrl+le nyíllal egy lépésben kijelölöd az adatokat tartalmazó oszlopot.
2. A képlet beírása után a cella jobb alsó sarkában lévő kis fekete négyzetre duplán klikkelsz, és már le is másolta a képleteket addig, míg a balra mellette lévő cellákban adatot talál. -
Delila_1
veterán
válasz
atillaahun
#16959
üzenetére
Gratu.
-
Delila_1
veterán
válasz
atillaahun
#16956
üzenetére
=ha(hibás(ide_jön_a_függvény);ezt_tegye_hiba_esetén;ez_legyen_ha_nem_fut_hibára)
-
Delila_1
veterán
Ha jól értem, egy könyvtárból kiválasztott fájl első lapjának A3:F3 tartományát akarod bemásolni az indító fájl A5:F5 celláiba.
Sub mm()
Application.DisplayAlerts = False
Dim fldlg As FileDialog, utvonal As String
Dim cel As String, forras As String
Dim rv, oszlop As Integer
cel = ActiveWindow.Caption
utvonal = "E:\Eadat\" 'Itt add meg az induló könyvtár útvonalát
Set fldlg = Application.FileDialog(msoFileDialogOpen)
With fldlg
.Title = "Megnyitás"
.InitialFileName = utvonal
.FilterIndex = 1 '*.xls, vagy *.xlsx
End With
rv = fldlg.Show
If rv Then
Workbooks.Open fldlg.SelectedItems(fldlg.FilterIndex)
forras = ActiveWindow.Caption
Workbooks(forras).Sheets(1).Range("A3:F6").Copy _
Workbooks(cel).Sheets(1).Range("A5")
End If
Workbooks(forras).Close
Application.DisplayAlerts = True
End Sub -
Delila_1
veterán
válasz
Bocimaster
#16941
üzenetére
Az is jó, csak ott több billentyűt kellett volna leütnöm.

-
Delila_1
veterán
válasz
Bocimaster
#16939
üzenetére
Az Cells(u, "A").Select sort írd át Cells(u+1, "A").Select-re.
-
Delila_1
veterán
válasz
atillaahun
#16933
üzenetére
Mikor leáll, Ctrl+g-vel hozd be a VB szerkesztőben az Immediate ablakot. Írd be
?CV.row
Erre válaszként kapsz egy számot, a ciklusváltozónak a sorát. Lépj az Excelbe, és nézd meg ezt a sort. Akár billentyűzetről is kijavíthatod, majd futtathatod tovább a makrót. -
Delila_1
veterán
válasz
zenefan
#16920
üzenetére
Leírni hosszabb lesz, mint végrehajtani...
Vegyük, hogy az A oszlopban vannak a városaid, A1 a cím: Városok. B1-be beírsz egy címet: db.
B2 -> =DARABTELI(A:A;A2) Ezt lemásolod a többi városnév mellé.E1 -> db
E2 -> >2
G1 -> VárosMost kijelölöd az A oszlop tartományát, és behívod az irányított szűrést.
- Más helyre másolja
- Listatartomány, amit eleve beír
- Szűrőtartomány $E$1:$E$2
- Hova másolja $G$1OK.
A G oszlopban címsorostúúúl megjelennek a városok, amelyek legalább 3-szor szerepelnek az A oszlopban. Ezt a tartományt kijelölve indítod a kimutatás varázslót. A Város címet a sorokhoz, és az adatokhoz is behúzod, kész. -
Delila_1
veterán
válasz
atillaahun
#16904
üzenetére
Lehet, hogy tényleg gyorsabb szövegfüggvényekkel.
B1: =KÖZÉP(A1;SZÖVEG.KERES("<";A1)+1;256)
C1: =BAL(B1;SZÖVEG.KERES(".hu";B1)+2) -
Delila_1
veterán
válasz
atillaahun
#16899
üzenetére
Előbb pucold ki a szemét karaktereket.
Az előbbi makró végére:Columns("A:A").Select
Selection.Replace What:=")", Replacement:="", LookAt:=xlPart
Selection.Replace What:=":", Replacement:="", LookAt:=xlPart
Selection.Replace What:=">", Replacement:="", LookAt:=xlPartstb. Ez sok szemetet eléget.
-
Delila_1
veterán
válasz
detroitrw
#16898
üzenetére
Szövegből oszlopok, határoló jel a + jel. Ez a példád szerint az A1-be írt adatot szétszedi az A1:G1 tartományba.
Könnyítésként soronként egy függvény megszámlálja, hogy hány féle adat van a sorodban.
=SZORZATÖSSZEG((A1:G1<>"")/DARABTELI(A1:G1;A1:G1))Utána már a darabteli függvénnyel megszámolhatod az egyes adatokat soronként.
J1 -be =DARABTELI($A$1:$G$1;1603)
K1-be =DARABTELI($A$1:$G$1;640)
L1-be =DARABTELI($A$1:$G$1;388) -
Delila_1
veterán
válasz
atillaahun
#16899
üzenetére
A makró végére írd be, hogy a Munka2 A oszlopában ezeket a karaktereket cserélje üres stringre.
-
Delila_1
veterán
válasz
atillaahun
#16896
üzenetére
Milyen szemét karakterek vannak benne?
-
Delila_1
veterán
válasz
atillaahun
#16891
üzenetére
Ímé a makró hozzá:
Sub email()
Dim ter As Range, CV, WS As Worksheet, sor As Integer
Cells(1).Select
Selection.CurrentRegion.Select
Set ter = Selection
Set WS = Sheets("Munka2")
sor = 1
For Each CV In ter
If InStr(CV, "@") Then
WS.Cells(sor, 1) = CV
sor = sor + 1
End If
Next
End SubA Munka1 lapon oszlopokba szétszedett adatokból a Munka2 lap A oszlopába gyűjti ki a címeket (@-ot) tartalmazó cellák tartalmát.
-
Delila_1
veterán
válasz
atillaahun
#16891
üzenetére
Segít, ha feltételes formázást adsz rá?
A formázás képlete =SZÖVEG.TALÁL("@";A1)>0Esetleg egy makró, ami végigfut a területen, és egy másik helyre egymás alá beteszi a @-ot tartalmazó cellák tartalmát...
-
Delila_1
veterán
válasz
atillaahun
#16878
üzenetére
Nem tudom, honnan veszed a szöveget, de ha 1 oszlopba jut 1-1 hosszú, címekkel tarkított szövegrész, akkor a szövegből oszlopok funkcióval szét tudod szedni, szóköz tagolóval.
Gondolom, az előbbi képlettel a @ jelet számlálod.Ha szövegrész előfordulását akarod számlálni egy szövegben, akkor a
=SZORZATÖSSZEG(--(KÖZÉP(B2;SOR(A1:INDIREKT("A"&HOSSZ(B2)));1)="a"))
úgy módosul, hogy a képleten belül lévő egyenlőségjel előtti 1-et átírod annyira, ahány karakter hosszú a keresett szövegrész.
=SZORZATÖSSZEG(--(KÖZÉP(B2;SOR(A1:INDIREKT("A"&HOSSZ(B2)));4)="alma"))
-
Delila_1
veterán
válasz
atillaahun
#16876
üzenetére
=SZORZATÖSSZEG(--(KÖZÉP(B2;SOR(A1:INDIREKT("A"&HOSSZ(B2)));1)="a"))
Ez a B2 cella szövegében számolja meg az a betűket.
-
Delila_1
veterán
válasz
m.zmrzlina
#16874
üzenetére
Nekem csak 2007-es verzióm van, de azért küldd el, ha gondolod, megnézem.
-
Delila_1
veterán
válasz
m.zmrzlina
#16872
üzenetére
Be van kapcsolva az Analysis ToolPak - VBA nevű bővítményed?
-
Delila_1
veterán
válasz
m.zmrzlina
#16870
üzenetére
Sub mm()
Range("J3:J15000") = "=COUNTIFS(A:A,G3,B:B,H3,C:C,I3)"
Columns("J:J").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub -
Delila_1
veterán
válasz
m.zmrzlina
#16868
üzenetére
Makró nélkül, 2 segédoszloppal.

Új hozzászólás Aktív témák
- Okos Otthon / Smart Home
- Android alkalmazások - szoftver kibeszélő topik
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- One otthoni szolgáltatások (TV, internet, telefon)
- Mikrotik routerek
- AMD GPU-k jövője - amit tudni vélünk
- Linux kezdőknek
- Robotporszívók
- Milyen billentyűzetet vegyek?
- Kompakt vízhűtés
- További aktív témák...
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- The Elder Scrolls Online Imperial Collector s Edition
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- 235 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- HIBÁTLAN iPhone 15 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4597
- DELL Latitude 5285 (Tablet)FHD, 2 az 1 ben, 12.3",i7-7600U,16GB DDR4, 256GB SSD, WIN11
- HIBÁTLAN iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest











Fferi50