Hirdetés

2024. április 27., szombat

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#32301) sajog159


sajog159
aktív tag

Az OTP-től exportált expoort.xls fájlban a dátum az alábbi alakban jelenik meg: „2016.08.01.”
A végén lévő pont miatt csak kissé bonyolult módon tudom dátumot „varázsolni”.
Az alábbi kép mutatja a műveleteket:

Örülnék, ha valaki egyszerűbb megoldást javasolna. (nem tudom, fontos e, Excel 2013-t használom)

Előre is köszönöm.

[ Szerkesztve ]

(#32302) Delila_1 válasza sajog159 (#32301) üzenetére


Delila_1
Topikgazda

Jelöld ki a tartományt, majd Adatok | Szövegből oszlopok. Kétszer Tovább gomb.

A harmadik fülön jelöld be a Dátum gombot, mellette az ÉHN legyen bejelölve. Befejezés gomb, és már kész is van.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32303) sajog159 válasza Delila_1 (#32302) üzenetére


sajog159
aktív tag

Zseniális! :R :R :R

(#32304) Delila_1 válasza sajog159 (#32303) üzenetére


Delila_1
Topikgazda

:)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32305) alfa20


alfa20
senior tag

Sziasztok!

Makróban meg tudom számoltatni, hogy egy adott mappában mennyi (Excel) fájlt található?

van több mappa amiben váltózó számú adatlapok vannak, ezekből a táblákból kellene egy adott táblába bemásolni az adatlapok adott elemeit.
Arra gondoltam, TC-vel átnevezem tömegesen a fájlokat növekvő számokká, majd egy ciklussal megnyitom, átmásolom, bezárom szépen sorba. egyedül a fájlok száma aggaszt, hogy az hogyan legyen automata.

"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)

(#32306) lizakattila


lizakattila
senior tag

Sziasztok!

Kellene egy kis segítség, mert problémába ütköztem. :W
Adott egy exceltábla, mely az alábbi adatokat tartalmazza: LINK

Az alábbi form-ot kreáltam hozzá: LINK
E mögött az alábbi makró található:
Private Sub cmdClose_Click()
Unload Me
End Sub
Private Sub Reg1_AfterUpdate()
If WorksheetFunction.CountIf(Sheet2.Range("a:a"), Me.reg1.Value) = 0 Then
MsgBox "Ilyen item nincs az adatbázisban."
Me.reg1.Value = ""
Exit Sub
End If
With Me
.reg2 = Application.WorksheetFunction.VLookup(CStr(Me.reg1), Sheet2.Range("Lookup"), 2, 0)
.reg3 = Application.WorksheetFunction.VLookup(CStr(Me.reg1), Sheet2.Range("Lookup"), 3, 0)
.reg4 = Application.WorksheetFunction.VLookup(CStr(Me.reg1), Sheet2.Range("Lookup"), 4, 0)
.reg5 = Application.WorksheetFunction.VLookup(CStr(Me.reg1), Sheet2.Range("Lookup"), 5, 0)
.reg6 = Application.WorksheetFunction.VLookup(CStr(Me.reg1), Sheet2.Range("Lookup"), 6, 0)
.reg7 = Application.WorksheetFunction.VLookup(CStr(Me.reg1), Sheet2.Range("Lookup"), 7, 0)
.reg8 = Application.WorksheetFunction.VLookup(CStr(Me.reg1), Sheet2.Range("Lookup"), 8, 0)
.reg9 = Application.WorksheetFunction.VLookup(CStr(Me.reg1), Sheet2.Range("Lookup"), 9, 0)
.reg10 = Application.WorksheetFunction.VLookup(CStr(Me.reg1), Sheet2.Range("Lookup"), 10, 0)
End With
End Sub
Private Sub userform_click()

End Sub

Ezt kellene kiegészíteni úgy, hogy amikor a formon a felvenni kívánt mennyiséghez beírok egy tetszőleges mennyiséget (számot) és rákattintok az Adatbázishoz ad gombra, akkor az adatokat tartalmazó lapon keresse meg a hozzá tartozó adatot és a beírt mennyiséget vonja le az E (OnHand) oszlopból.
Ha ez megtörtént, ki is léphet a formból (de ez nem feltétlen szükséges).

[ Szerkesztve ]

"Ha próbára akarod tenni egy ember jellemét, adj neki hatalmat." - Abraham Lincoln

(#32307) Delila_1 válasza lizakattila (#32306) üzenetére


Delila_1
Topikgazda

Az Item-nek már eleve a textbox helyett comboboxot érdemes tenni, ahol a RowSource tulajdonságba beírod a tartományt, ahonnan az értékeket veszi, pl. Sheet2!A1:A200.

Elég egyszer kikeresni a sort, aminek az értékeihez hozzá akarod adni a UserFormon megadott adatokat.

Private Sub cmdClose_Click()
Dim sor

'Ellenőrzés
If reg1 = "" Or reg2 = "" Or reg3 = "" Or reg4 = "" Then
MsgBox "Hiányos kitöltés", vbExclamation
Exit Sub
End If

With Sheets("Sheet2")
sor = Application.Match(reg1, .Range("A:A"), 0)
.Cells(sor, 2) = .Cells(sor, 2) + reg2 * 1
.Cells(sor, 3) = .Cells(sor, 3) + reg3 * 1
.Cells(sor, 4) = .Cells(sor, 4) + reg4 * 1
End With
End Sub

A szorzás azért kell, hogy a textboxban szereplő szöveget (szöveg, azért text) számmá alakítsuk.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32308) Delila_1 válasza lizakattila (#32306) üzenetére


Delila_1
Topikgazda

Figyelmesebben elolvastam a kérdést.

Ha jól értem, azt a sort keresed, amelyikben az On-Hand kivételével minden adat megegyezik a most bevittekkel, és a jelenlegi On-Hand értéket akarod levonni a megtalált sor E oszlopának az értékéből. Így gondolod?

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32309) bsasa1 válasza alfa20 (#32305) üzenetére


bsasa1
csendes tag

Szia, persze simán.

Sub szamol()

Dim FolderPath As String, path As String, count As Integer

FolderPath = "mappa teljes elérési útja"
path = FolderPath & "\*.xls"
Filename = Dir(path)

Do While Filename <> ""
count = count + 1
Filename = Dir()
Loop

'count tartalmazza a .xls fájlok számát a mappában, ha xlsx, akkor fent is .xlsx

End Sub

(#32310) lizakattila válasza Delila_1 (#32308) üzenetére


lizakattila
senior tag

Nem egészen. Item alapján keresek, a többi adat a formon automatikusan töltődik, ha az itemet beírom (végül is minden adat egyezni fog).
Tehát ha rákerestem egy item-re, kitöltődött a form, a felvenni kívánt mennyiséget adom meg és az itt megadott értéket vonja le az OnHand-ből (E oszlop) - abban a sorban, ahol az általam kikeresett item van.
Egy készletcsökkentést szeretnék végrehajtani így, tehát amennyit kiveszek, annyival csökkenjen.

"Ha próbára akarod tenni egy ember jellemét, adj neki hatalmat." - Abraham Lincoln

(#32311) Delila_1 válasza lizakattila (#32310) üzenetére


Delila_1
Topikgazda

Akkor a feltöltés Ok, csak a levonás kell.

Sheets("Sheet2").Cells(sor, 5) = Sheets("Sheet2").Cells(sor, 5) - reg5* 1

Már ha a reg5 valóban az E oszlop megfelelője.

Azért a feltöltésnél alkalmazhatnád, amit a sor kikereséséről írtam előbb. Ugyanannak a sornak az n-edik tagját viszed a textboxokba, ezért elég lenne 1 keresés.

[ 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.

(#32312) bsasa1 válasza alfa20 (#32305) üzenetére


bsasa1
csendes tag

Csak eszembe jutott, hogy a helyedben én nem nevezném át a fájlokat, ahogy megszámoltatod a Do ciklusban meg is tudod sorban nyitni őket és megcsinálni amit szeretnél, nem számít mennyi van belőle.

(#32313) Delila_1 válasza lizakattila (#32310) üzenetére


Delila_1
Topikgazda

A beolvasás is lehet egyszerűbb, a reg1 ComboBox Change eseményéhez rendelve.

Private Sub reg1_Change()
Dim sor, oszlop As Integer

With Sheets("Sheet2")
sor = Application.Match(reg1, .Columns(1), 0)
For oszlop = 2 To 11
Controls("reg" & oszlop) = .Cells(sor, oszlop)
Next
End With
End Sub

A gomb esetében marad az az 1 sor, amit írtam (+ elé a sor kikeresése a MATCH függvénnyel). Esetleg még a végére a form bezárása: Unload Me

[ 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.

(#32314) lizakattila válasza Delila_1 (#32313) üzenetére


lizakattila
senior tag

Nagyon köszi a segítséget, sikerült összehozni! :R :C

"Ha próbára akarod tenni egy ember jellemét, adj neki hatalmat." - Abraham Lincoln

(#32315) Delila_1 válasza lizakattila (#32314) üzenetére


Delila_1
Topikgazda

Nagyszerű!

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32316) lalakov


lalakov
senior tag

Meg tudnátok esetleg mondani mivel lehet a gond?

Van egy közel 600kb-os excel fájlom, amiben rengeteg lapfül van, sok egyszerű (szum, ha) számítással és egy részen feltételes formázással. Dropboxban használom, hogy a telefonon is mindig naprakész legyen. Pc-n minden tökéletes, de ha mobilon nyitom meg, az eltart vagy fél percig(a feltételes formázás színei jönnek be ilyen lassan). Ha bármit változtatok és elmentem, akkor eltűnik jó pár számítás, de nem az összes és minden esetben ugyanazok. Mindig kizárólag a sok karakterből álló, sima összeadások.
Office 2013, mobil: Samu Note 2

Köszönöm.

(#32317) Sprite75


Sprite75
tag

Sziasztok

Ha már valaki tett fel hasonló kérdést akkor előre is elnézést kérek de nem találtam.

A problémám az lenne, hogy a képen látható táblázatban pl a C2 cellában ahol 0# szerepel szeretném ha inkább üresen maradna a cella, ha a INDEX HOL.VAN függvény kombináció a táblázat Rendelés fülén ahonnan az adatokat szedné csak üres cellát talál.

Ezt majd nyomtatni kellene és úgy jobban áttekinthető lenne a nyomtatott lap ha a nem lennének tele 0-ával azok a cellák ahol nincs rendelés felvéve.

A C2 képlete

=INDEX(Rendelés!$C$4:$AX$108;HOL.VAN($A$2;Rendelés!$A$4:$A$108;0);1)

KÉP

Előre is köszi

[ Szerkesztve ]

(#32318) Sprite75 válasza Sprite75 (#32317) üzenetére


Sprite75
tag

Megtaláltam az egyyik megoldást. Ennyire bamba nem lehetek. :) Feltételes formázással a 0 tartalmú cellák betűszínét fehérre állítom.

(#32319) Delila_1 válasza Sprite75 (#32318) üzenetére


Delila_1
Topikgazda

A feltételes formázást is elhagyhatod, ha az Excel beállítási | Speciális | Beállítások megjelenítése ehhez a munkalaphoz menüpontban kiveszed a pipát a "Nulla megjelenítése a nulla értékű cellákban" elő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.

(#32320) aprokaroka87


aprokaroka87
nagyúr

Üdv!

Arra van lehetőség,hogy egyéni számformázást ne csak a "Cellaformázás" menűből,hanem a szerkesztö mező segítségével is meg lehessen adni?

(#32321) alfa20 válasza bsasa1 (#32309) üzenetére


alfa20
senior tag

Köszi!
:R

"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)

(#32322) Sprite75 válasza Delila_1 (#32319) üzenetére


Sprite75
tag

Köszi
Megtaláltam azt is.

(#32323) butch3r válasza butch3r (#32300) üzenetére


butch3r
senior tag

Sziasztok

Valaki tud nekem ebben segíteni?

Köszi
üdv
:R

(#32324) Dr V


Dr V
őstag

Sziasztok!

Van egy táblázatom, amiben több függvény, power query lekérdezés is szerepel, adatból viszonylag kevés szerepel benne. A fájl hálózati meghajtón szerepel. Ha megnyitom, kb fél percig nem válaszol a program. Hogy tudnám a fagyást kiszedni belőle? Egyelőre nem találtam meg az okát.

(#32325) sajog159 válasza butch3r (#32323) üzenetére


sajog159
aktív tag

Ha jól értettem a kérdésedet:
Kezdőlap/Általános lenyíló ablak.

Ott vagy, kiválasztod a megfelelőt, vagy alul kinyitod a „További számformátumok” lehetőséget, ahol minden van.

(#32326) sajog159 válasza Dr V (#32324) üzenetére


sajog159
aktív tag

Szia,

Ha jól sejtem, a "Power query" egy Excel bövitmény. Az le van tötlve és fel van installálva nálad? Nekem alapból Excel 2013-ban nincs, példaul.
De most letöltöttem innen.

[ Szerkesztve ]

(#32327) Dr V válasza sajog159 (#32326) üzenetére


Dr V
őstag

A sejtésed helyes.
Arra jó, ohgy egyszerűen lekérdezz műs táblázatokból adatokat, mjad tényleg néhány kattintással felhasználd az adatokat táblázathoz, grafikonhoz.

(#32328) sajog159 válasza Dr V (#32327) üzenetére


sajog159
aktív tag

OK, értem.
És végül is sikerült megoldanod a problémádat (csak kíváncsi vagyok)?

(#32329) Dr V válasza sajog159 (#32328) üzenetére


Dr V
őstag

A power querry volt egy kicsit rosszul beállítva. A háttéradat előtöltést kellet kikapcsolnom. Azóta jobban indul.

(#32330) butch3r válasza sajog159 (#32325) üzenetére


butch3r
senior tag

Szia

Nem jól:)

Az általam másol macro egy sok diás ppt-ben az összes dián fogja az excelből linkelt elemeket (leginkább chartok) és kicseréli képekre (kivágja majd beilleszti ugyan oda ugyan akkora méretben csak képként). Viszont automatikusan előre teszi őket, viszont vannak olyanok amiket hátra kéne, hogy tegyen, hogy bizonyos feliratok látszódjanak (amik külön szöveg dobozból vannak beillesztve és részben -direkt!- takarják az említett képeket, de ha a kép van előrébb akkor az takarja a szvöeg dobozt és nem fordítva)

Ezért kéne nekem valami olyan kiegészítés a fenti makróba, hogy a kivágott és beillesztett képeket küldje hátra, azaz sorrendileg mélyebben legyenek és ne takarják ki a szöveg dobozokat.

Remélem valaki tud segíteni
Köszi
:R

(#32331) Delila_1 válasza butch3r (#32330) üzenetére


Delila_1
Topikgazda

Konvertálhatod a diagramjaidat pl. gif-be, majd beilleszted azokat a bemutatódba a kedved szerinti helyre. A gif-ek szélessége és magassága megegyezik a diagramok méreteivel.

Sub Diagram_Konvertalas()
Dim szamlalo As Integer, x As Integer, diagram As Object

For x = 1 To ActiveSheet.ChartObjects.Count
ActiveSheet.ChartObjects(x).Activate
Set diagram = Selection.Chart
diagram.Export Filename:=ThisWorkbook.Path & "\" & _
"Diagram " & szamlalo + 1 & ".gif", FilterName:="gif"
szamlalo = szamlalo + 1
Next
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32332) butch3r válasza Delila_1 (#32331) üzenetére


butch3r
senior tag

konvertálással nincs gond, azt megcsinálja a fenti makro. A gond, hogy a képeket előre teszi:

piros nyíl mutat a kis szürke csillagokra. konvertálás előtt azok elől vannak.

olyanra lenne szükségem, hogy konvertálás után, minden konvertált elemre rányomja ezt a gombot:

(#32333) Delila_1 válasza butch3r (#32332) üzenetére


Delila_1
Topikgazda

Selection.ShapeRange.ZOrder msoBringToFront

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32334) Teo.papa


Teo.papa
csendes tag

Halihó

Két noteszt használok, mindkettőn Win10+Excel2016. A problémám az, hogy az egyiken a gyorselérési eszköztárban elfér simán 28 parancsikon + a fájlnév + egyéb gyárilag ott lévő dolgok. A másikon fele ikont látom csak + fájlnév + gyári dolgok. Mindkét noteszen a sűrűség egérhez optimalizáltra van állítva. Próbáltam a sűrű beállításokat lementeni és a másik noteszre átmásolni, nem lett jobb a helyzet. Mellékelek egy képet a "sűrű" verzióról, nekem ez kellene a másik noteszen is. Korábban mindkét gépemen a sűrű verzió volt, a Win10-re frissítés után lett először mindkettőn ritka, majd egyik egy frissítés után sűrű lett, másik maradt ritka :-(
Megnéztem a kollégáim gépeit is, mindenkinek a gépén a "ritka" verzió van.

Ha valaki tudna segíteni, megköszönném :)

Teo>

(#32335) Sprite75 válasza Teo.papa (#32334) üzenetére


Sprite75
tag

A képernyő felbontási beállításokhoz nem lehet köze?
Az minkettőn egyforma?

(#32336) Sprite75


Sprite75
tag

Üdv

Olyat lehet szerintetek hogy az éppen kijelölt cella ahová írni akarok más színű legyen mint a többi? Ha pedig megvolt az adatbevitel álljon vissza az eredeti színére?

(#32337) Sprite75 válasza Sprite75 (#32336) üzenetére


Sprite75
tag

Delila egy korábbi írását felhasználva használva
[link]

csináltam egy olyan oszlopot ahová kiírja egy sorban történt utolsó módosítás idejét.
Így:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C4:AY108"), Target) Is Nothing Then
Cells(Target.Row, 52).Value = Time
End If
End Sub

Aztán ezt továbbgondolva szerettem volna megoldani hogy az épp kijelölt cella más színű legyen (a cellába íratott 1-est felhasználva a feltételes formázással) de nem teljesen jó a dolog.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("C4:AY108"), Target) Is Nothing Then
Cells(Target.Row, 54).Value = "1"
End If
End Sub

Vagy teljes nem jó az elképzelés?

[ Szerkesztve ]

(#32338) Delila_1 válasza Sprite75 (#32337) üzenetére


Delila_1
Topikgazda

Minek külön feltételes formázás? Ha már ír valamit a makró, egyúttal a színt is módosíthatja.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C4:AY108]) Is Nothing Then
Cells(Target.Row, 52).Value = Time
Cells(Target.Row, 52).Interior.Color = vbRed
End If
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32339) Sprite75 válasza Delila_1 (#32338) üzenetére


Sprite75
tag

Alakul :)

Annak a cellának a színét szeretném változtatni ami épp ki van jelölve, nem pedig azét ahová az időt írja.

Azért szeretném mert ez egy rendelés felvevő táblázat lenne és jó lenne ha feltűnő lenne, hogy épp hol épp melyik az aktív cella, nehogy rossz oszlopba írja az adatot aki használja.

Tehát a pl a képen látható AX15 cella színének kellene változni amíg ki van jelölve

(#32340) Delila_1 válasza Sprite75 (#32339) üzenetére


Delila_1
Topikgazda

Jobbat ajánlok. Nézz el ide.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32341) lappy válasza Sprite75 (#32339) üzenetére


lappy
őstag

Ebben a videóban benne van a megoldás!

Bámulatos hol tart már a tudomány!

(#32342) lappy válasza Delila_1 (#32340) üzenetére


lappy
őstag

Pont ilyet akartam én is keresni, de sikerült megelőznöd :)

Bámulatos hol tart már a tudomány!

(#32343) Delila_1 válasza lappy (#32342) üzenetére


Delila_1
Topikgazda

:)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32344) Sprite75 válasza Delila_1 (#32340) üzenetére


Sprite75
tag

Már megint 10000 hála :)

Akkorát nevettem, a kollégák azt kérdezték, hogy neked meg mi bajod van? :)

A másik kódot ami meg az időt írja be kijelölt sor 52. oszlopába azt csak beillesztem ez után a kód után és úgy jó?
Mert most ezt megtettem és eddig nincs hiba.

[ Szerkesztve ]

(#32345) Sprite75 válasza lappy (#32342) üzenetére


Sprite75
tag

Azért köszi a fáradozást neked is :)

Nem is értem, hogy Delila-nak hogy van ennyi energiája a hozzám hasonló "koca excel makró bűvész" sok furcsa problémájához :))

(#32346) Delila_1 válasza Sprite75 (#32344) üzenetére


Delila_1
Topikgazda

Akkor nyertél.

Ha mindegyik lapon szeretnéd látni ezt a célkeresztet, akkor a ThisWorkbook laphoz rendeld.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32347) Sprite75 válasza Delila_1 (#32346) üzenetére


Sprite75
tag

Még annyi problémám lenne, (ez nem igaz mert úgy is lesz újabb és újabb :) ) hogy az "A" oszlop feltételes formázását törli a kód. Vagy ez valamiért a feltételes formázással nem kompatibilis?
Jó lenne ha az igenek zöldek lennének a nemek pedig pirosak A4 től A108 ig

(#32348) butch3r válasza Delila_1 (#32333) üzenetére


butch3r
senior tag

Ezt a makro melyik részébe kellene beilleszteni? Sajnos nem tudtam rájönni :(

Köszi!
:R

(#32349) Delila_1 válasza Sprite75 (#32347) üzenetére


Delila_1
Topikgazda

Fferi tovább fejlesztette, ami a 2010-es verziótól kezdve műxik.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32350) Delila_1 válasza butch3r (#32348) üzenetére


Delila_1
Topikgazda

A hosszú makródat nem néztem át, ahhoz slideshow kellene, amit nincs kedvem létrehozni.

A sor, amit írtam, a kiválasztott diagramot hozza előre.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.