-
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
-
motinka
tag
válasz pentium4 #8296 üzenetére
azaz mégis csak bármit írhatsz a 0 forintos termékekhez csak 0-t nem , így ugye nem számitja azt bele a legjobb árba.
Ellenben ha a további cellákba egy olyan képletet írsz ami először megvizsgálja, hogy az adott cella értéke nem szám akkor 0 legyen az érték, amennyiben szám akkor meg végezze el a műveletet.
pl egy ilyen:MoTiNka
-
pentium4
senior tag
ez a darabteli függvény nem jó, mert ez megszámolja és a másik hibája hogy nem tud kezelni csak adott részt hogy pl: A1:A7 de nekem nem így van hanem így: G5;L5;Q5;V5 és ha ezt írom bele akkor tól soknak írja a dolgot!
végül is sikerült megoldani így:
=MIN(HA(G5<>0;G5;99999);HA(L5<>0;L5;99999);HA(Q5<>0;Q5;99999);HA(V5<>0;V5;99999))
igaz nem a legszebb függvény de legalább müxik és akkor a magyarázat hogy miért is így, hát azért mert ha minden cellára megnézzük (a minimum kiválasztás előtt), h egyenlő-e 0-val, ha nem, akkor vesszük a cella értékét, ha viszont 0, akkor veszünk egy nagy számot (pl aminél nincs nagyobb az Excelben, én most a 99999-et választottam), ami így minimumként sosem jöhet ki!
nem tudom hogy van rövidebb megoldás ennél, biztos van, de nem vok egy excel guru, de így sikerült összehoznom!
vélemények?P4
-
motinka
tag
válasz pentium4 #8304 üzenetére
ezért írtam hogy a további cellákban (ahol ezekből a cellákbó számol valamit) kell a képleteket átírni, hogy ha nem számot talál a beviteli cellában akkor azt ott már 0-nak vegye.
A bemásolt képen a pirossal keretezett minta függvény utolsó ; utáni része az eredeti képlet. Példának egy egyszerű szorzat van benne.MoTiNka
-
pentium4
senior tag
gondoltam az már mind1 hogy most hogy vannak a cellák, nem akartam bonyolultan feltenni a kérdést, inkább egyszerűsítettem, hogy ne legyen probléma, de ezek szerint nem kellett volna!
igen feltettem, mert nem tudtam hogy hogy kell, de gondoltam amíg válaszoltok én se ülök a seggemen hanem keresgetek és próbálgatom hogy hogy lehet megoldani a problémát!P4
-
perfag
aktív tag
-
Delila_1
Topikgazda
válasz pentium4 #8296 üzenetére
Írtam rá egy függvényt.
Function Minimum(sor As Integer) As Double
Dim tomb(3), tomb_1(3)
Dim b As Integer, s As Integer
tomb(0) = Cells(sor, 7)
tomb(1) = Cells(sor, 12)
tomb(2) = Cells(sor, 17)
tomb(3) = Cells(sor, 22)
For b = 0 To 3
If tomb(b) > 0 Then
tomb_1(s) = tomb(b)
s = s + 1
End If
Next
Minimum = Application.Min(tomb_1(0), tomb_1(s - 1))
End FunctionA szépséghibája, hogy egy üres oszlopba az adatok mellé be kell vinni az =SOR() függvényt, és a Minimum függvényben erre a cellára kell hivatkozni.
Pl. ha a sor() függvények az AA oszlopban vannak, és a W5-ben akarod megtudni az 5. sor minimumát, akkor a W5-be ezt kell írnod: =minimum(AA5), vagy =minimum(5). Az utóbbinál az a baj, hogy a képlet lemásolásakor az 5-öt minden cellában át kellene írni az aktuális sor számára. Az előbbi képlet "lehúzható".
Remélem, ezen valaki tud majd javítani. Ha nem, marad a SOR() 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
Pentium4
Az előzőhöz:
Ha mind a 4 bolt oszlopában 0 érték szerepelne, #ÉRTÉK hibát ad a függvény. Ennek elkerülésére a Next után tegyél be egy új sort: On Error Resume Next, így 0 lesz a függvény kimenete.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
scott_free
senior tag
sziasztok,
lenne egy legördülő listám a hónapok nevével.
az megoldható valahogyan, hogy a kiválasztott hónap neve jelenjen meg a cellában, de értékként a hónap számát adja vissza a cella? -
sonar
addikt
válasz Delila_1 #8312 üzenetére
Meg tudom csinálni irányitott beillesztéssel az nem nagy kunszt.
Csak az a bajom, hogy néha elfelejtem beilleszteni és fontos lenne, hogy mindig azonos legyen az a két cella ezért kellene vmi fv v excel beállitás. (Makróval is meg tudom csinálni, de azt is kihagynám a buliból)A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
Oly
senior tag
Sziasztok
Csináltam egy UserForm-ot és sehogy sem jövök rá, hogy miként tudnám a Formon elhelyezett adatokat a rajta lévő CommandButtonnal beíratni egy adott Sheet adott Cellájába?
Illenve Névvel ellátott Cellára lehet hivatkozni a kódban?Üdv
OlySonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S
-
-
Delila_1
Topikgazda
A második kérdésedre:
Private Sub CommandButton1_Click()
Application.Goto Reference:="bevitel"
Selection = TextBox1
End SubA TextBox1 értéke itt a "bevitel" névvel ellátott cellába kerül. Mint látod, a .Value elhagyható, az előbbi makróba sem szükséges.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Oly
senior tag
válasz Delila_1 #8320 üzenetére
Ez többszörözhető?
Private Sub CommandButton1_Click()
Application.Goto Reference:="bevitel1"
Selection = TextBox1
Application.Goto Reference:="bevitel2"
Selection = TextBox2
End SubSonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S
-
Oly
senior tag
válasz Delila_1 #8322 üzenetére
Variálok még egy kicsit:
Ha az adott cellába a TextBox1 és a TextBox2 tartalmát akarom egy szóközzel "összefűzve, akkor hogy alakul a dolog?
Pl a Formon a Vezeték és Keresztnév külön Boxba kerül beírásra, de a táblában, már egybe íratnám.
Így?
Private Sub CommandButton1_Click()
Application.Goto Reference:="bevitel"
Selection = TextBox1.Value & TextBox1.Value
End Sub[ Szerkesztve ]
SonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S
-
Delila_1
Topikgazda
-
félisten
Hali!
Nem hinném, hogy olyan súlyos feladat lenne 1 darab cella esetén, hogy azt is ugyanolyanra formázd és akkor használhatnád, amit írtál...
Delila_1 #8325
Lemaradt a TextFire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Delila_1
Topikgazda
válasz Fire/SOUL/CD #8327 üzenetére
Anélkül is vidáman beírja az értékeket, szándékosan hagytam el.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
félisten
válasz Delila_1 #8328 üzenetére
Hali!
TextBox esetén a Text és Value valóban azonos, de vannak olyan objektumok ahol nem. Ezért írtam, hogy lemaradt a Text (mert Oly "valamiért" a value-val dolgozott)
Fire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Delila_1
Topikgazda
válasz Fire/SOUL/CD #8329 üzenetére
Azért dolgozott azzal, mert az első (?) válaszomban azt írtam.
Szóval működik a text és a value nélkül is.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
félisten
Hali!
ListFillRange (Tartományt, vagy tartomány megnevezést is megadhatsz)
Formon ListRows (vagy makróval feltöltöd...)Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Oly
senior tag
válasz Delila_1 #8333 üzenetére
Köszike.
Úgy látom, hogy arról a Sheetről veszi be az adatokat, amelyikről meghívom a Formot.
Ezért egy kicsit át kell alakítanom a cuccot, de megoldható.Relatív hivatkozást lehet adni a Formon a tartalmaknak?
Gondolok itt olyanra, hogy pl egy listát akarok kitölteni és az A2-be írja a az első textbox tartalmát, a B2-be a második TextBox tartalmát, majd egy SpinButtonnal átlép a 3. sorra, de ugyanakkor vissza is léphessek a 2. sorra.
Hasonlóan az Acces űrlapjához.
Remélem érthető.SonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S
-
scott_free
senior tag
válasz scott_free #8315 üzenetére
erre létezik megoldás?
-
Oly
senior tag
válasz scott_free #8315 üzenetére
Ugyanabba a cellába akarod az érétéket is?
Egy segéd tábla és fkeres...
SonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S
-
félisten
válasz scott_free #8337 üzenetére
Hali!
Használj pl ComboBox-ot, ott megoldható, igaz ez esetben az érték "kinyeréséhez" makró kell...[link]
Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Oly
senior tag
Egész jól haladok a kis UserForm-ommal.
Hála Nektek!Olyat tudok csinálni, hogy automatikusan elinduljon a form...
De ezzel egyidejüleg elrejthetem magát az Excelt a háttérből?
Gombnyomásra pedig vissza eltüntetném...SonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S
-
félisten
Hali!
Hmm, érdekes gondolat... Hát az egész excel ablakot nem tudom, hogy elrejteni de a worbook-ot így igen (nem elrejtjük, minimize-re állítjuk)
Megnyitáskor így indíthatod a Formot
Private Sub Workbook_Open()
UserForm1.Show vbModal
End SubEz pedig a UserForm események, az előbbi amikor megnyílik a form, az utóbbi meg amikor bezáródik
Private Sub UserForm_Activate()
On Error Resume Next
With GetObject(, "Excel.Application")
.ActiveWindow.WindowState = xlMinimized
End With
End Sub
Private Sub UserForm_Terminate()
On Error Resume Next
With GetObject(, "Excel.Application")
.ActiveWindow.WindowState = xlMaximized
End WithFire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Hali!
Ááá, de hüle vagyok "néha"...
Ez az, ami Neked kell
Private Sub UserForm_Activate()
Application.Visible = False
End Sub
Private Sub UserForm_Terminate()
Application.Visible = True
End SubFire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Charlie Gordon
aktív tag
Sziasztok, a következő feladatra kellene megoldás : adott egy táblázat (egy termékcsoport havi forgalma), ami sok munkalapból áll, mindegyik munkalap egy adott termék havi forgalmát tartalmazza. A munkalapok D oszlopa a szállítólevélszám . Össze kell hozni (esetleg egy új munkalapon) az
összes szállítólevélszámot, amelyeken ez a termékcsoport szerepelt. -
félisten
válasz Charlie Gordon #8342 üzenetére
Hali!
Nem értem a kérdést...
Pl Munkalapok -> alma, barack, körte stb
Minden munkalap D oszlopában szállítólevélszám
Ha ez így van, akkor mindegyik munkalap (alma, barack, körte stb) teljes D oszlopa eleget tesz a kérdésednek..."Össze kell hozni (esetleg egy új munkalapon) az
összes szállítólevélszámot, amelyeken ez a termékcsoport szerepelt."Mit értettem rosszul?
Fire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Charlie Gordon
aktív tag
válasz Fire/SOUL/CD #8343 üzenetére
Nem tesz eleget, hiszen almából vittek az 1, 5, 7, 15-ös szállítón, körtéből a 2,3,4,7, 21-es szálltón stb. Tehát a D oszlopokat kellene összehozni egy oszlopba, utána már csak lerendezni és szűrni kell de ezt már én is meg tudom csinálni.
-
motinka
tag
sziasztok,
azt szeretném kérdezni / megtudni, hogy az adatok/űrlap esetleg kinyítható-e valamilyen billenytyű paranccsal, esetleg egy cellára kattintva (makróval / VBA-val)
MoTiNka
-
félisten
válasz Charlie Gordon #8344 üzenetére
Hali!
oksa, így érthető. Még annyi lenne a kérdésem, hogy az összesítő táblázatban, a termékekről milyen adatok kerüljenek bele és azok az adott munkalapon belül hol vannak, melyik cellá(k)ban?
(Ha minden D oszlopt "összesítünk", akkor csak számok lesznek, de hogy azok melyik munkalapon szerepeltek (melyik termékhez kötődve) az úgy nem fog kiderülni)Erre gondolok pl
Alma munkalap, D oszlop -> 1,3,5,7,9
Körte munkalap D oszlop -> 2,4,6,8Ha összesítjük a D oszlopot valahol (és csak azt) akkor azt kapod, hogy 1,2,3,4,5,6,7,8 de evvel nem sokra mész (szerintem)
Fire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Charlie Gordon
aktív tag
válasz Fire/SOUL/CD #8346 üzenetére
De ez pont elég, csak az összes szállítószám kell !
Előre is kösz -
félisten
válasz Charlie Gordon #8347 üzenetére
hali!
Van olyan munkalap, ami nem terméket tartalmaz, amit nem kell figyelembe venni?
Magyarul létrehozok egy munkalapot, végignézhetem az összes munkalapot,a D oszlop adatait összesíthetem?Ha vannak olyan munkalapok, amelyeket ki kell hagyni, akkor a pontos nevüket kérném...
Fire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Charlie Gordon
aktív tag
válasz Fire/SOUL/CD #8348 üzenetére
Nincs, mindegyiket figyelembe kell venni, a munkalapok nevei cikkszámok.
-
félisten
válasz Charlie Gordon #8349 üzenetére
Hali!
Oksa, akkor
1. Készíts másolatot az excel fájlról, biztos ami biztos
2. Nyisd meg és az első munkalapra tegyél egy CommandButtont
3. Kattints rá duplán, a megjelenő ablakban törölj mindent és illeszd be az alábbi kódotPrivate Sub CommandButton1_Click()
Dim My_Sheet As Worksheet
Dim My_Sheet_Name As String
Dim My_Range As Range
Dim My_Column As String
'Oszlop, amelyikben szállítólevélszámok vannak
'(Ugyanebben az oszlopban lesznek majd, az új munkalapon is)
My_Column = "D"
'A létrehozandó, összesítő munkalap neve
My_Sheet_Name = "FSCD_Összesítés"
Application.DisplayAlerts = False
On Error Resume Next
Set My_Sheet = Sheets(My_Sheet_Name)
On Error GoTo 0
If Not My_Sheet Is Nothing Then
My_Sheet.Delete
End If
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = My_Sheet_Name
k = 1
For i = 1 To Worksheets.Count - 1
Worksheets(i).Select
Worksheets(i).Range(My_Column & "1").Select
Set My_Range = Worksheets(i).Range(My_Column & "1:" & My_Column & Worksheets(i).UsedRange.Rows.Count)
My_Range.Select
For Each CurrCell In My_Range
Worksheets(My_Sheet_Name).Range(My_Column & k) = CurrCell.Value
k = k + 1
Next CurrCell
Set My_Range = Nothing
Next i
Worksheets(My_Sheet_Name).Select
Set My_Sheet = Nothing
Application.DisplayAlerts = True
End Sub4. kattints a CommandButtonra
Ez a makró létrehoz a munkalapok legvégén egy új munkalapot, abba másolja az adatokat.
Fire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
Új hozzászólás Aktív témák
- Windows 8 / 8.1
- Ezek a OnePlus 12 és 12R európai árai
- Netfone
- Apple Watch Sport - ez is csak egy okosóra
- TP-LINK routerek
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Mazda topik
- Garmin Forerunner 255 Music - nem csak futóknak
- Kerékpárosok, bringások ide!
- DUNE médialejátszók topicja
- További aktív témák...
- The Witcher 2: Assassins of Kings - nagydobozos, komplett, gépben sem volt
- World of Warcraft 15th Anniversary Collectors Edition - BONTATLAN - shipper barna kartonban - ÚJ
- Keresem az Alan Wake Collectors Editions pc-re.
- Fallout 76 (PC) - Microsoft Store Kód
- Eredeti Windows 10, Windows 11, Office Akció: Office 2021, Office 2019, Office 2016 csak Retail