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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
- Tudástár AMD Radeon undervolt/overclock
Általános témák
LOGOUT.hu témák
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [Sub-ZeRo:] Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Szólánc.
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
- [Re:] eBay-es kütyük kis pénzért
- [Re:] [attilasd:] A laposföld elmebaj: Vissza a jövőbe!
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [koxx:] Bloons TD5 - Tower Defense játék
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Téma összefoglaló
- Utoljára frissítve: 2023-11-13 08:31:56
LOGOUT.hu
Hozzászólások
Fferi50
őstag
Szia!
Szerintem igen. (Remélem, így működik majd.)
Üdv.
lenkei83
tag
Szia!
Így biztosan jó lesz, csak Excel 2010 verzió fölött a protect/unprotect elég lassúcska, és pont ezt szerettem volna elkerülni.
Üdv.:
P.
botond2225
csendes tag
Sziasztok,
Olyan képletet keresek, amely megadott feltételt vizsgál meg, és az alapján ír be egy szöveget egy cellába.
Ha a keresendő cella szövegében szerepel egy adott szöveg (ezt előre megadnám), akkor egy másik cellába írjon be egy szintén általam megadott szöveget.
Office 2013-at használok egyik gépen magyar, másikon angol.
Tehát pl. ez lenne egy cella tartalma:
1 db,9'' Quad Core Android tablet, Kód: GX00304191-4QN
Ebben kellene keresnie szövegrészt, hogy szerepel-e pl. az alábbi szöveg:
1. keresési feltétel
9" Quad Core
2. keresési feltétel
GPS tablet
stb. (ezeket írnám be én, nagyságrendileg 15-20-ról lenne szó)
Ha szerepel a keresendő cellában az 1. keresési feltétel, akkor írja a másik cellába az alábbi szöveget:
GA33
Ha szerepel a cellában a 2. keresési feltétel, akkor a következőt írja:
MT102W
Remélem érthető a problémám.
Segítségeteket előre is köszönöm.
Üdv,
Bálint
[ Szerkesztve ]
Delila_1
Topikgazda
Ehhez egy saját függvény kell.
Beírod a H oszlopba (H2-től kezdve) a keresendő szöveget (9'' Quad Core), mellé az I-be a GA33-at, alá a többi párost.
Modulba másold be a makrót.
Function Rovidites(Cella As Range)
Dim sor As Integer, usor As Integer
usor = Range("H" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
If InStr(Cella.Value, Range("H" & sor)) > 0 Then
Rovidites = Range("I" & sor).Value
Exit For
End If
Next
End Function
Ha a hosszú szöveged az A2-ben van, akkor a képlet Rovidites(A2)
. Ugyanúgy másolható, mint a többi függvény.
Vigyázz! a hosszú szövegedben a 9 után 2 db aposztróf van, a keresési feltételnél meg 1 db idézőjel.
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
Miket észre nem veszel!
[ Szerkesztve ]
Delila_1
Topikgazda
Kipróbáltam a függvényt úgy, hogy a hosszú és a rövid szöveget innen másoltam be, de nem működött. Akkor megkerestem az okát.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
botond2225
csendes tag
Az idézőjel és az aposztróf elírás részemről, a keresendő szöveg a hosszú szövegből venném ki (mivel kb. 15-20 ilyen van, ezért nagyjából ez fix-nek mondható), így egy db egyezésnek biztosan kell lennie.
Delila_1
Topikgazda
Kipróbáltad a függvényt?
Abban a füzetben lesz elérhető, amelyiknél egy modulba beírtad.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
botond2225
csendes tag
Most próbáltam ki, szuper, működik, nagyon köszönöm.
Hogy lehetne úgy használni, hogy ha megnyitom az excelt, mindig működjön, mint bármilyen másik képlet?
Delila_1
Topikgazda
A makró első sora ez legyen:
Application.Volatile
Akkor frissül, mikor a lapra billentyűzetről viszel be valamit, vagy törlöd egy cella tartalmát.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
dellfanboy
senior tag
van 4 excel file -om ami ra van linkelve egy ppt-ra. talalkoztatok mar olyan hibaval hogy a ppt nem frissul be?
megvan nyitva a 4 excel utana megnyitom a ppt update links, nem tortenik ppt-be semmi. raklikkelek az excelekre es latom feldobott egy uzenetet le okezom , de a ppt-be a slide-ok nem frissulnek.. ha egyesevel probalom frissiteni a chartokat ppt-be akkor se mukodik. azert furcsa mert kollegamnak 100% mukodik csak nalam nem es nem jovok ra a hibara.. mire nezzek /googlezzak ra?
eladó dolgok:mondd az árát és vidd http://hardverapro.hu/tag/dellfanboy#aprohirdetesei
HREH
senior tag
Sziasztok, a következő lenne a problémám:
A kijelölt cellába kellene beírnom az 1.A, 4.A és a 8.A mellett lévő értékek átlagát.
Hasonlóképpen, a "C" átlaga cellába a 3.C, 6.C, 10.C mellett lévő értékek átlagát.
És így tovább...
Kérdésem, hogy ezt hogyan lehetne függvénnyel megoldani?
Előre is köszönöm!
(szerk: lehet, hogy tök triviális, de egyszerűen nem fog most az agyam )
[ Szerkesztve ]
"Fun isn't something one considers when balancing the universe. But this... does put a smile on my face."
Delila_1
Topikgazda
HREH
senior tag
Tökéletes, nagyon köszönöm!
És ha az átlagokat az első oszlop alá számítanám, akkor gondolom csak a tartományt kell beállítani B:B
és C:C
helyett?
Illetve úgy meg lehet csinálni, hogy nincs külön kiírva, hogy "A" átlaga, "B" átlaga, stb.? (szóval a függvényben hivatkoznék rá)
[ Szerkesztve ]
"Fun isn't something one considers when balancing the universe. But this... does put a smile on my face."
Delila_1
Topikgazda
Igen, és igen, és szívesen.
=ÁTLAGHA(B:B;"*" & "A" & "*";C:C)
[ 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.
HREH
senior tag
Ez is tökéletesen működik
Köszi, spóroltál nekem több napot
[ Szerkesztve ]
"Fun isn't something one considers when balancing the universe. But this... does put a smile on my face."
Delila_1
Topikgazda
Örülök neki, szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Sprite75
tag
Szasztok
Keresgéltem itt a fórumban de nem találtam a választ a következőre
Van egy táblázatban BA5A109 terület, amibe megjegyzéseket (szöveget) írnak.
Összesen eből a 104 cellából naponta kb 5-6-ba. Következő nap pedig lehet hogy másik 5-6 cellába ezek közül.
Az eszen a területen található szöveges információkat szeretném összefűzve megjeleníteni ugyanennek a táblázatnak egy másik lapján egy adott cellába.
Lehetséges ez. Az összefűz -el ha jól tudom csak 30 cella tartalmát lehet megoldani, így gondolom az nem megoldás.
lappy
őstag
És csak összefűzve szeretnéd látni a másik munkalapon vagy ezeket sorba el is akarod menteni?
Bámulatos hol tart már a tudomány!
Fferi50
őstag
Szia!
2013-as excelben már 255 paramétere lehet az összefűz függvénynek. Nézd meg lsz. a szerkesztősoron a függvényre kattintva, hogy hány paramétert enged meg. (Beírod az =Összefűz( szöveget, rákattintasz az Fx szimbolra, az előugró ablakban ott a szöveg.)
Másik lehetőség: Szürő az oszlopra, nem üresre állítva a szűrőt megkapod azokat a cellákat, amelyekben van érték. Ezeket egyben kijelölheted, átmásolhatod egy másik munkalap összefüggő tartományába. Máris csak pár cellát kell összefűzni, arra meg jó a & műveleti jel is.
Üdv.
[ Szerkesztve ]
Sprite75
tag
Köszi. Megpróbálom úgy akkor az összefűzzel. A szűrős módszer sajna nem jó mert aki használja annak bonyolult lenne. Azt a lapot amire az összefűzést csinálnám naponta többször is nyomtatják. Ez alap egyébként tartalmazza az aznap felvett megrendeléseket összesítve és ide szeretném a rendelésekhez írt esetleges megjegyzéseket.
Certee
senior tag
Sziasztok!
Keresek Excel-hez értő szakembert. Alap szinten ismerem és használom a programot de szükségem lenne valakire aki profi szinten el tudna készíteni nekem egy munkát. Természetesen kifizetem a ráfordított időt.
Egy szabad országban, egy szabad ember, azt tesz amit szabad... http://www.biwak.hu
lenkei83
tag
Sziasztok!
Thisworkbook-ban hogyan tudok global vagy public ranget megadni?
Ez nem működőképes:
Public valid_cell_range As Range
Option Explicit
Private Sub Workbook_Open()
Set valid_cell_range = Munka8.Range("K4:K34")
End Sub
köszi.:
P.
Fferi50
őstag
Szia!
Szerintem ennek működni kellene, viszont mivel a Thisworkbook kódlapja nem általános modul, hanem osztálymodulnak számít, a változót csak úgy tudod elérni, ha a teljes nevével hivatkozol rá, azaz Thisworkbook.valid_cell_range. Ebben a formában már látja minden modul - és a vba segítőben is látod.
Üdv.
[ Szerkesztve ]
lenkei83
tag
Szia Feri!
Lefut hiba nélkül. A bajom az, hogy nem tárolja el a range-t, így nem tudok másik modulban hivatkozni rá.
Üdv.:
P.
Fferi50
őstag
Szia!
Közben szerkesztettem a választ! Néha én is belefutok ilyenbe - a változó ott van, jó is, csak másként kell elérni.
Üdv.
lenkei83
tag
Aham, így már működik. Viszont azt nem értem, hogy ha lefut a workbook_open és utána próbálom lekérdezni a range addresst akkor hibát ír, viszont ha selectet írok akkor kijelöli.
Fferi50
őstag
Szia!
Ha mindkétszer a Thisworkbook előtag nélkül próbálod, akkor egyik sem működhet. Illetve, ha az eseménykezelőben megállsz, akkor nem kell az előtag, akkor sem kell, ha éppen a Thisworkbook kódlapon levő másik eljárásban vagy függvényben használod.
Üdv.
[ Szerkesztve ]
lenkei83
tag
Igaz, és a hiba is meg lett. Lemaradt egy "s" az adress végéről.
Köszönöm a segítséget!
Fferi50
őstag
Nincs mit!
További jó munkát!
Sprite75
tag
Gyönyörű lett de működik
Azt hittem létezik rá valami elegánsabb megoldás, de így is jó lesz.
Köszi
[ Szerkesztve ]
Pakliman
tag
Szia(sztok)!
"Elegánsabb" megoldás, de kell a VBA:
Public Function MyÖsszefűz(terület As Range, Optional elválasztó As String = ";") As String
Dim cella As Range
Dim temp
For Each cella In terület
If cella <> "" Then temp = temp & IIf(temp <> "", elválasztó, "") & cella
Next cella
MyÖsszefűz = temp
End Function
tzimash
őstag
Sziasztok,
Makróval kereteztetnék be egy területet, használtam a makrórögzítőt, de nem tetszik az eredmény...
Van ennél egyszerűbb (kevésbé terjedelmes) módja?
Valami olyasmi, hogy A1: C4 területen az összes vonal (kivéve átlók) fekete, folytonos, vékony legyen?Sub keret()
Range("A1:C4").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub
[ Szerkesztve ]
Sprite75
tag
Hello
Ott a pont
Köszönöm szépen.
A Rendelés fülön ha beírnak valamit a "BA" megjegyzés oszlopba azok a beírások megjelennek a Összesítve fülön az aznapi rendelések összesítésével együtt, amit már lehet is nyomtatni.
Összesen 105 megrendelő van, de a gyakorlatban kb 5-6 bolthoza van írva megjegyzés naponta, így bőben elfér az Összesítve fül Megjegyzések cellájában.
Köszönöm még egyszer, hátha később hsznos lesz másnak is .
botond2225
csendes tag
Fferi50
őstag
Szia!
Hasznos lett volna, ha a hibakiírást is rajta hagyod a képen.
Talán az lehet a probléma, hogy az offset(0,-52)-t nem tudja értelmezni, mert nincs a kijelölt cellától balra 52 oszlop már. Valószínúleg nem ott állsz, mint ahol a makrót rögzítetted.
Szerintem elég lenne a Destination:=Activesheet.range('A1:BA500"), stb.
Üdv.
Fferi50
őstag
Szia!
Ha mindent egyformán szeretnél bekeretezni, akkor elég ennyi:
With Range("A1:C4").Borders
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Nem kell a select-tel történő kijelölés sem.
Üdv.
[ Szerkesztve ]
tzimash
őstag
Köszönöm, ilyesmire gondoltam.
tzimash
őstag
Arra van lehetőség, hogy a makró futása közben tájékoztatni a felhasználót az éppen végrehajtott műveletről? Pl megjelenik egy msgbox, melyben néhány sorban (ami egymás után jelenik meg) kiíratni, hogy éppen mi történik a háttérben, mire véget ér a makró futása a box is eltűnik. Esetleg alá egy folyamatjelző?
Fferi50
őstag
Szia!
Az MsgBox nem tűnik el addig, amíg a felhasználó rá nem kattint az OK gombra.
Az állapotsor felhasználható a folyamatok jelzésére:
Application.Statusbar="Most itt járok:" & "éppen indexelek"
A makró végén pedig Application.Statusbar=False - visszaadja a vezérlést az Excelnek (ez utóbbit ne felejtsd ki, mert egyébként az állapotsoron ott marad, amit legutoljára kiírattál.
Az állapotsorba rajzkarakterket is tehetsz, színt viszont nem.
Lehet még olyan megoldás is, hogy egy userformot hozol létre, amire az üzeneteket kíírod egy Labelba, majd a Userform1.Show false paraméterrel hívod meg - ekkor a makró fut tovább, a form pedig addig lesz kinn, amíg az Unload Userform1 sort be nem írod, vagy a felhasználó "ki nem x-eli".
Az üzeneteket menet közben változtathatod, amíg a form kint van, pl. Userform1.Label1.Caption="Most más szöveg jön".
Ide rajzos karaktereket is tehetsz és színezheted is. De azért nem árt sokat gyakorolni, mielőtt ráereszted a felhasználóra.
Üdv.
tzimash
őstag
Köszi, szóval nem reménytelen, megpróbálok alkotni valamit.
Msgboxban is meg lehet csinálni, csak a végén OK-t kell nyomni? Ezzel még együtt tudnék élni.
Fferi50
őstag
Szia!
Minden MsgBox üzenet esetén kell OK vagy más gombot nyomnia a felhasználónak, nem csak a program végén :-(
Miért nem jó neked az állapotsor ott a képernyő alján? Ott nem kell a felhasználónak semmit csinálnia, csak nézni, mint boci...
Az elején pedig írhatsz egy MsgBoxot neki, hogy lesse az alsó sort, ha kíváncsi (ha nem).
Én hosszú folyamatoknál itt szoktam pörgetni a számlálót, hogy x tétel,cella van feldolgozva y darabból és általában 100-asával változtatom (mert különben nem látsz semmit a pörgéstől). Irtó kellemetlen lenne a felhasználónak, ha pár másodpercenként nyomkodnia kellene az entereket (mert "túl gyors" a program).
Szerintem akkor van értelme MsgBox-nak, ha a felhasználó döntésétől is függ, hogy mit csinálsz tovább, pl. nincs meg minden adat, de szeretne hiányos adatokkal is továbbmenni stb., illetve ha valami szokatlan történt és hibáról kell tájékoztatni.
Üdv.
[ Szerkesztve ]
Pikkolo^^
addikt
Találkoztatok olyannak, hogy a szűrő nem működik? Az egyik lapon bármire szeretnék szűrni mindig több találatod ad vissza, mint amik kellenek. Nem csak nekem hanem kollégáimnak sem működik megfelelően.
Delila_1
Topikgazda
Előfordulhat, hogy túl sok adat van a szűrendő oszlopban.
Nem tudom, a magasabb verziókban hány sor a határ, a 2003-as verzióban 1000 sorig volt biztonságos a szűrés. Az alatta lévő sorokat megmutatta szűrés nélkül.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Pikkolo^^
addikt
2016-os Office van 46XX sor van benne és most visszakeresve 34XX-ig jó a szűrés vagy ott már csak olyan értékek vannak. Az a furcsa, hogy egy hónapja még semmi gond nem volt vele.
Delila_1
Topikgazda
Most unta meg, hogy rendszeresen túlléptétek a határt.
Nézd meg a linket, biztosan segít.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Pikkolo^^
addikt
Nincsen link.
Pikkolo^^
addikt
Tomjack
tag
Sziasztok
Még mindig keresnék egy megoldást erre:
Van egy szám halmaz. Ebből szeretném 1,2,3,4,5,6 számoknak megnézni a gyakoriságát.
Köszönöm
Mai Hardverapró hirdetések
prémium kategóriában
- AKCIÓ - TELEFONTOKOK, EGYÉB AUTÓS KIEGÉSZÍTŐK, FÜLHALLGATÓK
- Olympus M.ZUIKO DIGITAL 25mm f/1.8 objektív
- Xiaomi Redmi 9 64GB, Kártyafüggetlen, 1 Év Garanciával
- Dell Latitude E7450 Full i7-5600U, 16GB DDR3, 512GB SSD, FHD IPS, Nvidia, HUN Vil.Bill. Új
- Dell Latitude 7310 i7-10610U, 16GB DDR4, 512GB NVMe, FHD IPS Privacy, HUN Vil.Bill, NBD, Új Állapot