- iPhone topik
- Vodafone mobilszolgáltatások
- Telekom mobilszolgáltatások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Eleglide C1 - a középérték
- Milyen okostelefont vegyek?
- Android szakmai topik
- DIGI Mobil
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
Hirdetés
-
Az üzleti chatbot lehet az új fejőstehén
it Üzleti chatbotot indított az Anthropic, azt reméli, hogy sok pénz folyik majd be a cégektől.
-
Eleglide C1 - a középérték
ma Szintet lépett az Eleglide, az egyébként egész korrekt M2 után a C1 sokkal komfortosabb közlekedésre alkalmas.
-
A Colorful "fagyosan kompakt" alkatrészekkel megy elébe a nyárnak
ph A vállalat többek között egy slim profilos léghűtővel, egy helytakarékos táppal és egy ITX-es házzal adott magáról életjelet.
-
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
-
Zola007
veterán
válasz Delila_1 #33952 üzenetére
ez nem teljesen sikerült
próbáltam makróként is felvenni és közvetlen beírni mint "module", de egyikkel sem jött össze, hogy indítás után menjen automatikusanígy néz ki a module1 a personalban :
Sub makró1()
Application.DisplayStatusBar = False
End Subha kézzel indítom a makrót, akkor lefut és működik, de magától nem
[ Szerkesztve ]
Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs
-
Rcsi
csendes tag
Sziasztok!
Ismét bizalommal fordulok hozzátok egy számomra nagyon magas feladat megoldása érdekében.
Szerintem Fkeres, és HA függvények szükségesek a megoldásához, de mivel ezeket nem ismerem, így meghaladja szerény képességeimet.
A feladat egy egyszerűsített példája:
A oszlop: Márka
B oszlop: Hengerűrtartalom
C oszlop Üzemanyag Típusa
D oszlop LEA D oszlopot kell kiszámítanom. A B oszlopban nem pontos számok szerepelnek, mint 1583ccm, hanem csak annyi hogy 1.6 vagy 2.0 vagy 2.5 stb.
Egy Opel 1.6 benzin 101 LE, de egy Audi 1.6 benzin 140LE, és egy Opel 1.6 Diesl 90LE.
Emiatt a variációk száma elég nagy.Az én táblázatom pedig még több lehetőséget tartalmaz.
Honnan kellene megindulnom, és milyen utat bejárnom a függvényekkel, hogy kitisztuljon a dolog.
Ha egy képletet írtok válaszba ahhoz kérnék egy rövid leírást is, mert még nem dolgoztam ezekkel a függvényekkel.
Az Fkeres alapját az tudom, de ott csak egy 2 oszlopos táblázatból választom ki a megfelelő eredményt.
Ha nagyon macera, akkor küldjetek el egy programozóhoz melegebb éghajlatra!Köszi!
-
Rcsi
csendes tag
Szia!
A lóerőt nem számolom ki, mivel az adott, csak nincs benne a táblázatban.
Úgy gondoltam hogy ha lehetséges több oszlopos fkeres, akkor csinálok egy táblázatot amibe megadom a márkát, hengerűrtartalmat, üzemanyag fajtáját, és manuálisan beírom a hozzá tartozó lóerőt.
Ebből a táblából kellene kiszednie a függvénynek az értéket, azaz a lóerőt. -
poffsoft
addikt
válasz nordican #33959 üzenetére
nem is .
ez egy lap eseményhez rendelt makró.
vagyis, minden alkalommal, ha a munkalapon megváltoztatod valamelyik cella tartalmát, automatikusan lefut.
Mondjuk én a target.rows.autofitet használnám, vagyis annak a sornak a magasságát állítani, amelyikben éppen szerkesztettél.
ha ugyanezen a címen kell igazítanod a másik lapon, akkor még beszúrnám:
sheets("Munka2").range(target.address).rows.autofit[ Szerkesztve ]
-
Fferi50
őstag
válasz nordican #33959 üzenetére
Szia!
Ez soha nem fog a makrók között megjelenni - és nem is kell neki - mivel eseménykezelés paraméterekkel.
Amit írtál, az minden esetben az első sor magasságát fogja automatikusan állítani, amikor a munkalapon változtattál valamit - de ez nyilván felesleges minden alkalommal. Ezért írtam, hogy a Change eseményben kell megvizsgálni, hogy szükséges-e a sormagasság állítása (csak nem tűnt ki a hozzászólásból rendesen):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("A1"), Range("K1"))) Is Nothing Then Makró1
'ide sorold fel az Union függvényen belül azokat a cellákat, ahol listád lesz.
End SubA meghívott makróba pedig beleteszed az összes olyan munkalapot, ahol változtatni kell:
Sub Makró1()
Sheets("Munka1").Range("A1").Rows.AutoFit
Sheets("Munka2").Range("A1").Rows.AutoFit
Sheets("Munka1").Range("K1").Rows.AutoFit
Sheets("Munka2").Range("K1").Rows.AutoFit
'és így tovább, minden lapra és cellára
End SubTehát két részből áll a folyamat. Az első rész a Change eseményben van, ami megvizsgálja, kell-e állítani sormagasságot, ha igen, meghívja a második részt (makró1), ami ténylegesen elvégzi az állításokat.
Üdv.
-
Fferi50
őstag
válasz poffsoft #33962 üzenetére
Szia!
Egyetértek, mert így csak egy cellát kell állítani, de azt meg kell előtte vizsgálni, hogy valóban a listát tartalmazó cellát szerkesztette-e. Ezért van a feltételsor.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("A1"), Range("K1"))) Is Nothing Then
'ide sorold fel az Union függvényen belül azokat a cellákat, ahol listád lesz.
Sheets("Munka1").Rows(Target.Row).AutoFit
Sheets("Munka2").Rows(Target.Row).AutoFit
'és így tovább
End If
End SubÜdv.
[ Szerkesztve ]
-
Zola007
veterán
válasz Delila_1 #33954 üzenetére
Akit érdekel, Word-ben is megoldható a StatusBar elrejtése:
Sub Statusbar_Hide()
CommandBars("Status Bar").Visible = False
End Sub
__________Sub Statusbar_Show()
CommandBars("Status Bar").Visible = True
End SubAutomatára még nem sikerült beírnom, hiába betettem a Normal sablon - This Documentbe, de így legalább külön indítható Alt-F8 után és bármikor ki-be tudom kapcsolni egy gombnyomással.
Nagyon tetszik ez az Excel VBA dolog
Nem rég kezdtük a tanfolyamon a programozást, tök jó dolgokat lehet csinálni és teljesen megváltoztatja az ember szemléletét.
köszi mindenkinek!
Delila-t meg még fogom nyaggatni sokat, mert veszélyes és fárasztó tudok lenni, ha engem elkezd érdekelni valamiMʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs
-
Delila_1
Topikgazda
-
poffsoft
addikt
válasz Fferi50 #33964 üzenetére
Én értem.
Nem biztos, hogy nordican is értette az uniont.Szóval, ha csak azokat a
cellákat figyeled, amik az A oszlopban (A:A) vannak, és a B1:E100 tartományban, meg a 23. sort:If Not Intersect(Target, Union(Range("A:A"), Range("B1:E100"), Range("23:23"))) Is Nothing Then
[ Szerkesztve ]
[ Szerkesztve ]
-
nordican
tag
válasz Fferi50 #33964 üzenetére
Fiúk-lányok, tök rendesek vagytok, hogy ennyi időt beleöltök más problémájába, de nekem ez még mindig túl elvont. Még azt kérhetném, hogy egy konkrét példára fordítsátok le ezeket a kódokat?
Szóval tegyük fel, hogy a Munka1 lapom a főlap, itt az A1 és az A3 cellában készül két különböző (többtételes) lista, és a Munka2 lapon a B2 és B4 cellában kellene megjelennie automatikusan az A1 és A3 listának, és egyúttal automatikusan át is kellene méreteződnie a Munka2 lap 2 és 4-es sormagasságának. Én pedig megfogom a kódot és egy az egyben beszúrom a Worksheet/Change lapra, és beszámolok az eredményről. Ha működik, akkor már csak a cellák meg a lapok nevét kell lecserélnem, ami elvileg még nekem is menni fog.[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz nordican #33971 üzenetére
Csak most nézem a feladatodat, de már az elején zavaros. Biztosan ezért nem kapsz érdemi választ.
"...az A1 és az A3 cellában készül két különböző (többtételes) lista..."Egy cellában nem lehet lista, csak egyetlen adat.
Tegyél fel egy füzetet, amiben a lapjaid neve az igazi. Írj valamilyen adatokat, ahova kell, és írd bele azt is, hogy mit akarsz ezekből kihozni.
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 nordican #33971 üzenetére
Szia!
Íme:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("A1"), Range("A3"))) Is Nothing Then
Rows(Target.Row).AutoFit
If Not Intersect(Target, Range("A1")) Is Nothing Then
With Sheets("Munka2").Range("B2")
.Value = Target.Value
.Rows.AutoFit
End With
End if
If Not Intersect(Target, Range("A3")) Is Nothing Then
With Sheets("Munka2").Range("B4")
.Value = Target.Value
.Rows.AutoFit
End With
End If
End If
End SubÜdv.
[ Szerkesztve ]
-
botond187
csendes tag
Sziasztok,
Segítséget szeretnék kérni, hogy melyik képlettel lehet egy cella tartalmának az elejét megtartani?
Kb. 25 karakterből áll a cella, de csak az első 13-ra lenne szükségem.
Köszi a segítésget előre is. -
nordican
tag
válasz Fferi50 #33974 üzenetére
Fantasztikus vagy, köszönöm! Így már sikerült a meglévő munkafüzetemre alkalmaznom, egy bökkenő van, és itt fel is adom ezt a történetet. Ha a sorban van összevont cella (és nekem sajnos van), ott nem működik, és hiába szedem szét a cellákat, a szöveg nem megy át a következő cellába. Ha leveszem a Sortöréssel több sorba opciót, akkor átfolyik a másik sorba, de a lista elemei egymás mögött jelennek meg. Magyarul kellene egy jó széles oszlop, ahová kompletten beférnek a lista elemei (amik egyébként fájlnevek), ehhez meg újra kellene csinálnom az összes munkalapot.
-
nordican
tag
-
nordican
tag
válasz Fferi50 #33981 üzenetére
Igen, de ha egy oszlopot szélesebbre veszek, akkor a tőle jobbra lévő oszlopokban lévő cuccok is csúsznak (vagy keskenyebbre kéne vennem őket, de ezt meg a bennük lévő adatok miatt nem tudom). Elég kötött munkalapokkal dolgozom, szinte minden mindennel összefügg, ami ilyen szempontból elég szerencsétlen megoldás.
[ Szerkesztve ]
-
Fferi50
őstag
válasz nordican #33982 üzenetére
Szia!
Nyilván nem ezen fogunk összeveszni A munkalap tulajdonságait Te ismered, mi csak javaslatokat tudunk adni.
Egyébként az összevonást is meg lehet szüntetni és a sormagasság állítása után vissza lehet állítani.Range("B2").MergeArea.UnMerge
Range("B2").Rows.AutoFit
Range("B2:C2").MergeÜdv.
[ Szerkesztve ]
-
nordican
tag
válasz nordican #33984 üzenetére
Hú, úgy tűnik, működik! Ez k...a jó!
Ide raktam be:Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("C65"), Range("C69"))) Is Nothing Then
Rows(Target.Row).AutoFit
If Not Intersect(Target, Range("C65")) Is Nothing Then
With Sheets("Munka1").Range("B14")
.Value = Target.Value
Sheets("Munka2").Range("B14").MergeArea.UnMerge
Sheets("Munka2").Range("B14").Rows.AutoFit
Sheets("Munka2").Range("B14:E14").Merge
End With
End If
If Not Intersect(Target, Range("C69")) Is Nothing Then
With Sheets("ajánlat1").Range("B26")
.Value = Target.Value
.Rows.AutoFit
End With
End If
End If
End Sub -
Fferi50
őstag
-
botond187
csendes tag
válasz Delila_1 #33977 üzenetére
Köszi.
Lenne egy másik kérdésem, próbáltam a vlookup függvényt, de valamiért nem akar működni.
A képlettel szerintem nincs probléma, valami más lesz a hiba.Felkiáltójelet jelez, de nem tudom, mire gondol pontosan.
Azt szeretném elérni, hogy a sheet2-ben a "C" oszlopban ott legyen a megfelelő kód a sheet1 "C" oszlopából.
-
Delila_1
Topikgazda
válasz botond187 #33987 üzenetére
A Sheet1 lapon a B oszlopban az adatok szöveg típusúak, a Sheet2-n viszont számként szerepelnek. Ezt úgy tudod egyszerűen ellenőrizni, hogy ráállsz az első adatra (B2), majd a Shift-et nyomva tartod, és az egérrel rendre kijelölöd az alatta lévő cellákat. Számoszlop esetén a státuszsorban változnak a Min, Max, Átlag, Összeg értékek.
A Sheet2 lapon átalakítjuk a B oszlop értékeit szöveg típusúvá a
=BAL(FIX(A2;0;1);12)
képlettel, és minden OK.Tehetnénk fordítva is, hogy a Sheet1 B oszlop értékeit konvertáljuk számokká, de
1. a fuvarlevél számával nem hajtunk végre matematikai műveleteket (telefonszám, adószám is ilyen)
2. a szöveges adatok kisebb helyet foglalnak el a memóriában, mint a számértékekProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Zolix
tag
Sziasztok!
A segítségeteket kérném, van két munkafüzetem amit ki is tudok jelölni és így egyszerre nyomtatnám kétoldalasként. Viszont két külön oldalt nyomtat. A nyomtatót beállítottam kétoldalas nyomtatásra és word-ből nyomtat is excelből viszont nem a nyomtatási képnél két külön oldal jelenik meg, de nem kerül egy lapra!
Mit kellene még beállítanom?
-
bobsys
addikt
válasz Delila_1 #33918 üzenetére
Koszonom megegyszer. Hogyan kell modositani, ha a keresendo ertek az nem magaban all a masik munkafuzetben/munkalapon?
Tehat mondjuk az A1: bobsys kell megkeresni egy olyan cellaban amiben mondjuk az van, hogy cella\amiben\van\bobsys\szo-is mint karakterhalmaz.Enterprise Admin? Kirk kapitany leszel? - Ne törődjél semmivel, egyél zsömlét kiflivel
-
fogtunder
nagyúr
sziasztok,
lenne egy aránylag egyszerű makró, amivel nem boldogulok, sajnos próbálkozásaim ellenére nem megy nekem ez a téma.
szóval amit csinálnia kellene:
van 3 sheetünk, sheet1, sheet2, sheet3
sheet1 az, ahol a munka folyik, a többi adatforrásként szolgál
sheet1 a és b oszlopába az első sornál kezdve át kellene másolni sheet2 a és b oszlopát, amíg vannak benne értékek (ez változó sorszámot jelent). ugyanígy lenne sheet1 H oszlopa sheet 2 K oszlopa a negdeik sortól, sheet1 K-L-M oszlopa sheet2 N-O-P oszlopa.
sheet1 C és D oszlopában végig kell húzni egy VLOOKUP-ot a korábban bemásolt adatok mellé, majd kicserélni a függvényt értékekre a cellákban
sheet1 E-F-G értékei sheet3 C1, D1 és E1 értékei fixen lemásolva
sheet1 I egy VLOOKUP függvény végigmásolva, értékekre kicserélve
sheet1 J oszlopa a H*I szorzás az adott sorra végigmásolva, értékekre kicserélvenagyon köszi, ha valaki segít
I hate morning people. And mornings. And People.
-
oke
senior tag
Sziasztok!
Adott egy excel 1 db oszloppal és kb 1000 sorral. A Cellákban különböző méretű szabad-szöveges mondat/mondatok vannak. Arra lenne szükségem, hogy ebben az egész táblázatban(tehát nem cellánként) milyen szavak fordulnak elő és ezek hányszor szerepelnek. Van erre lehetőség?
-
Delila_1
Topikgazda
válasz fogtunder #33995 üzenetére
Meg kellene adnod a C, D és I oszlop függvényeit a Sheet1 lapon, akkor azokat is beírnám a makróval.
Sub Masolatok()
Dim usor As Long
Sheets("Sheet2").Range("A:B").Copy Sheets("Sheet1").Range("A1")
usor = Sheets("Sheet2").Range("K" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Range("K4:K" & usor).Copy Sheets("Sheet1").Range("H1")
Sheets("Sheet2").Range("N:P").Copy Sheets("Sheet1").Range("K1")
Sheets("Sheet3").Range("C:E").Copy
Sheets("Sheet1").Range("E1").PasteSpecial xlPasteValues
' Ide a C, D és I oszlop függvényeit add meg
usor = Sheets("Sheet1").Range("H" & Rows.Count).End(xlUp).Row
Sheets("Sheet1").Range("J1:J" & usor) = "=I1*J1"
Sheets("Sheet1").Range("A:M") = Sheets("Sheet1").Range("A:M").Value
End SubAz utolsó sor a Sheets1 lapon az A:M tartományt értékként ugyanoda beilleszti.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
fogtunder
nagyúr
válasz Delila_1 #33997 üzenetére
C oszlop: =VLOOKUP(A37002;Support!L:Q;4;0)
D oszlop: =VLOOKUP(A37002;Support!L:Q;3;0)
I oszlop: =IFERROR(VLOOKUP(A37002;MAP!B:E;4;0);0)illetve bocs, most láttam, hogy nem írtam le egy fontos dolgot, a sheet2-ről másolandó adatok a 4. sortól lefelé kezdődnek.
köszi
[ Szerkesztve ]
I hate morning people. And mornings. And People.
-
mivannem
csendes tag
Új hozzászólás Aktív témák
- 3D nyomtatás
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Microsoft Excel topic
- Fujifilm X
- Renault, Dacia topik
- OLED TV topic
- Építő/felújító topik
- További aktív témák...
- Steam, Windows, Origin kulcsok, előfizetések közvetlenül a kiadótól, a LEGJOBB ÁRON!
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.