-
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
-
Roley_05
csendes tag
Sziasztok!
Miként tudom azt megoldani, hogy a makron belül a 3-as érték (R3C3 érték második száma) paraméterezhető legyen, azaz egy adott változó értéke kerüljön oda mindig (Pl.: x=1)
ActiveCell.FormulaR1C1 = "=IFERROR(RC[-1]/(MAX(R3C3: R[-1]C[-1]))-1,0)"
[ Szerkesztve ]
-
spe88
senior tag
Hi,
Nem egyszerű a problémám:
Egy Excel fájlba kettő másik fájlból akarok adatokat másolni.
Az egyszerűsége annyi, hogy a letöltött fájlok mindig ugyanolyan oszlop fejléceket tartalmaznak alatta persze más számokkal!
Tehát az egyik fájlban van két oszlopom, aminek a "fejléce" ezt tartalmazza ABC és DEF az alatta lévő számokat át kell másolni az én Excel fájlomba a másik fájlnál is! Ez eddig sima!A probléma abban rejlik, hogy a letöltött fájlnevek mindig mások, tehát nem tudok neki egy elérési utat megadni!
Hogy lehet azt megoldani, hogy a mindig más fájlnevű 2 adott Excel fájlt (amiből az adatokat ki akarom nyerni) azt behúzzam egyfajta Drag and Drop módszerrel abba az Excel fájlba, amibe az adatokat ki akarom nyerni és akkor már tudja az "elérési utat"!
Gondolom ilyen módszer nincs vagy ehhez hasonló! Köszi
Spóroljunk! Kerül, amibe kerül!
-
Delila_1
Topikgazda
A lenti makróval megnyithatod az ismeretlen útvonalon lévő, ismeretlen nevű fájlodat.
Sub FileBehuzas()
Dim FD As Object, FN As String
Set FD = Application.FileDialog(3)
With FD
.AllowMultiSelect = False
.Show
If .SelectedItems.Count = 0 Then
FN = ""
MsgBox "Nem választottál fájlt", vbExclamation
Exit Sub
Else
FN = .SelectedItems(1)
End If
End With
Workbooks.Open Filename:=FN
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
szatocs1981
aktív tag
Ha "szabályjal" meg tudod adni, hogy a két file hol helyezkedik el, akkor szvsz lehet automatizálni a beolvasást.
Pl.:
- ha a könyvtár mindig azonos és csak ez a két file van benne
- ha a könyvtár mindig azonos és ez a két file mindig a két legutolsó modosított file
...
..
.
Ha valamilyen szabályt fel tudsz állítani, akkor VBA-ban is el tudod érni biztonsággal.
Delila_1 által vázolt módon (FileDialogBox) is megoldható!
(csak sokat kell klikkelni, amit én speciel nem szeretek ) -
spe88
senior tag
válasz szatocs1981 #28107 üzenetére
Köszi. Megpróbálom a makrot! Amúgy az a baj, hogy a 2 fájl sem mindig ugyanoda fog letoltodni mert többen hasznaljuk egy hálózaton... Ezért nehez szerintem...
Spóroljunk! Kerül, amibe kerül!
-
poffsoft
addikt
megoldható hogy az adott fájlokat dragdopolod- láttam már ilyen makrót..
(#28105) TrollBalint: Nem bántásból, de én az R1C1 típusú hivatkozásokat értettem a hsz-ből.
Ha valóban csak "R1C1" hivatkozásai vannak, akkor működik a módszered, de egy csomó más miatt még mindig nem fog működni a képlete (mint említettem, "," vs ";" probléma mint szeparátor, de pl. a függvénynevek is.
Azt továbbra sem értem, hogyhogy nem konvertálódik a workbook megnyitáskor.[ Szerkesztve ]
[ Szerkesztve ]
-
bozsozso
őstag
Sziasztok,
Lenne egy táblázatom. Egy oszlop tartalma negatív és pozitív számokat és 0-át tartalmaz. Van esetleg arra valami képlet, hogy külön összeadjam a pozitív és külön a negatív számokat?
Előre is köszönöm a segítséget.
-
spe88
senior tag
Sziasztok!
Tegnapi problémával nem jutottam előre, Google nem segített!
Szóval a konkrét helyzet:
- adott 3 HTML fájl, nekik mindig különböző fájlnevük van
- ezekből az összes adatot ki akarom nyerni egy Excel fájlba
- ha HTML-t megnyitom, akkor mindig egy lap van csak, amin az adatok vannak, tehát ez egyszerű
- a HTML fájlokat átneveztem XLS-sé és az Excel könnyedén tudja kezelni (csupán az elején megemlíti, hogy valójában nem Excel fájl, de OK után megjelenít mindent)
- az adott Excel fájlba, továbbiakban: "képletes" Excel fájl, amibe az adatokat akarom kinyerni, 3 különböző mindig azonos nevű munkalapon (SAP, PDM, NAV) akarom tárolni (a képletek miatt)Hogyan tudnám a legegyszerűbben az összes adatot átmásolni a 3 különböző munkalapra?
- copy paste egyrészt időigényes, mert CTRL+A-val nem jelöl ki mindent, meg, ha lehet ezt kihagynám (pár 1000 HTML van...)
- valami olyan kéne, hogy fogom belhúzom az eredetileg HTML fájlokat egyenként a "képletes" Excelfájlban valahol létrehozott helyre és automatikusan belemásolja az összes adatot a "képletes" Excel adott munkalapjárapl: van egy munkalapom a "képletes" Excel fájlban, hogy 'ADAT', van benne 3 "szövegdoboz": SAP, PDM, NAV
az SAP XLS-t (ami eredetileg HTML volt) belehúzom a "képletes" Excel fájl SAP "szövegdobozba" és makró vagy valami az összes adatot bemásolja a "képletes" Excel SAP fülre és így tovább...Vagy bármi hasonló megoldás jól jönne...
Ötlet?
Köszi
[ Szerkesztve ]
Spóroljunk! Kerül, amibe kerül!
-
BenJoe80
senior tag
Sziasztok!
Van egy táblázatom, ahol az egyik lapon (Acc.) összesítettem bizonyos cikkeket bizonyos számokkal. A másik lapon (January) pedig a "D" és "K" oszlopokban választhatok az összesített cikkeket, ahol korábban a megjelenítésnél csak a számok jelentek meg.
Valamiért most az egész összesített cikk megjelenik, nem csak a számkódok. Hogy tudom azt beállítani, hogy a "D" és "K" oszlopban csak a kódok jelenjenek meg?
A táblázatot még Office 2003-ban készítettem elég régen. Nem is nagyon emlékszem, hogy ezt hogy oldottam meg, plusz az Office 2013 még elég új nekem.
A segítséget előre is köszönöm!
Megisznak egy deci pálinkát. Miért? "Olyan savam vót, meg köllet innom egy deci pálinkát, aszittem megbolondulok." Aztán megisznak négy liter bort. Miért? "Há' semmi savam nem volt má'!"
-
BenJoe80
senior tag
Közben visszakerestem, és sikerült megtalálnom azt a hozzászólásomat, amikor u.e-t kérdeztem. A probléma már csak az, hogy hogy tudom a makrót beállítani Office 2013-ban?
Megisznak egy deci pálinkát. Miért? "Olyan savam vót, meg köllet innom egy deci pálinkát, aszittem megbolondulok." Aztán megisznak négy liter bort. Miért? "Há' semmi savam nem volt má'!"
-
BenJoe80
senior tag
Okay - probléma megoldva.
Megisznak egy deci pálinkát. Miért? "Olyan savam vót, meg köllet innom egy deci pálinkát, aszittem megbolondulok." Aztán megisznak négy liter bort. Miért? "Há' semmi savam nem volt má'!"
-
marcyman
aktív tag
Sziasztok
A képen látható táblázatot jelenleg kézzel a következőképpen töltjük: (Cél: magától töltődjön).
A D2 cella + a B3-B23 tartomány ha összeadjuk akkor az 508720, az efeletti részt 8720-at átírjuk a D23 cellába. A B23-ból (24420) kivonjuk a D23-at (8720) akkor jön ki a C23 (15520).
A lényeg, hogy ha eléri az 500000-et (de annál több lesz mindig valamennyivel), akkor a pluszt vezesse át a D oszlopba és ez a többlet kerüljön a következő 500000-es tételbe. Mindig a töblettel induljon, tehát a következő rész így nézne ki: A D23-tól indul (8720) és a B24-től kezdődik a következő tartomány. Amikor ez újra eléri az 500000-et, akkor újra vezesse át a maradékot, és így tovább.
Ha ezt megérti valaki...
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz marcyman #28121 üzenetére
Másold a lenti makrót a lapod kódlapjára (lapfülön jobb klikk, Kód megjelenítése, a jobb oldalon kapott üres részbe másold). Lépj vissza a füzetbe, és a G1 cellába írd be az utolsó sor számát, ahol a D oszlopban szám szerepel. A példád szerint ez 23.
Innen kezdve mikor a B oszlopba új adatot viszel be, a makró kiszámolja, hogy a jelzett cellák összege meghaladja-e a félmilliót. Ha nem, akkor a D oszlopba beírja az NT szöveget. Ellenkező esetben a maradékot, ahogy írtad, a G1-be beviszi az új sorszámot, az E oszlopban elvégzi a cellák összevonását, és beírja oda a következő sorszámot, a példa szerinti 209-et. beírja a C-be a B-D értéket.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim osszeg, sor As Long, tartomany As Range
If Target.Column = 2 And Target.Row > 2 And Target.Count = 1 And Target > "" Then
Application.EnableEvents = False
sor = Range("G1")
Set tartomany = Range("B" & sor + 1 & ":B" & Target.Row)
osszeg = Cells(sor, "D") + Application.WorksheetFunction.Sum(tartomany)
If osszeg >= 500000 Then
Range("D" & Target.Row) = osszeg - 500000
Range("G1") = Target.Row
Range("E" & sor + 1) = Application.WorksheetFunction.Max(Columns(5)) + 1
Range("E" & sor + 1 & ":E" & Target.Row).MergeCells = True
Range("E" & sor + 1 & ":E" & Target.Row).VerticalAlignment = xlCenter
Cells(Target.Row, "C") = Cells(Target.Row, "B") - Cells(Target.Row, "D")
Range("G1") = Target.Row
Else
Cells(Target.Row, "D") = "NT"
End If
Application.EnableEvents = True
End If
End Sub[ 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.
-
cekkk
veterán
Sziasztok!
Segítséget szeretnék kérni.
Lenne 3 oszlopom.
Az A ban lennének betűk számok vegyesen és a Cben is Bben pedig csak számok.
Az A oszlop elemeihez szeretném hasonlítani a B oszlopot vagy is ha B közt ott van az A eleme akkor az B oszlopba mondjuk 1et ír, ha a C oszlopban olyan elem van ami nincs a Aban akkor azt valahogy jelzi esetleg a Dbe ír valamit.Ez mennyire megoldható?
Köszönöm a segítséget.
-
spe88
senior tag
Hi,
Ha nagyon sokszor kell és ebből mennek tovább függvények, akkor automatizálni lehet függvényekkel ((HA, FKERES, INDEX, HOL.VAN stb), makróval, de ha csak egyszer-kétszer akkor a feltételes formázás/cella kijelölés/ismétlődő értékek segíthet!
ha specifikusabb kell, akkor írd le pontosan, mert azt nem értettem, hogy van 2 oszlopod A és B és ha B-ben ott van A eleme, akkor oda egyet ír! de hova? esetleg egy másik oszlopba lehetne...
Spóroljunk! Kerül, amibe kerül!
-
spe88
senior tag
olyan függvény létezik Excelben, hogy egy adott cellában az utolsó olyan karakternek a pozícióját megadja, ahol a keresett karakter van (vagy jobbról az elsőt... ugyanaz...)
fájlnév miatt kéne
C:\abc mappa\xy\proba.xlsx <- ez az alap
ez kéne, ahhoz, hogy ezt tovább lehessen vinni:
C:\abc mappa\xy\[proba.xlsx]
megkeresném az utolsó perjelet és mellé tűznék egy [ jelet a végére meg &]
valami megoldás van rá?
Köszi
[ Szerkesztve ]
Spóroljunk! Kerül, amibe kerül!
-
Delila_1
Topikgazda
Saját függvénnyel megoldható.
Function Filename(nev As Range)
Dim bal As String, jobb As String, b As Integer
For b = Len(nev) To 1 Step -1
If Mid(nev, b, 1) <> "\" Then
jobb = Mid(nev, b, 1) & jobb
Else
Exit For
End If
Next
Filename = Left(nev, b) & "[" & jobb & "]"
End FunctionProgramozó: 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
A VBE-ben beteszed egy modulba. Ugyanúgy alkalmazhatod, mint az Excel függvényeit. Az fx ikonra kattintva bejön a felhasználói kategóriában, de a billentyűzetről is beviheted.
Ha pl. az A1-ben van a kapcsos zárójelek nélküli útvonal és név, egy cellában erre hivatkozhatsz.
=filename(a1)
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
spe88
senior tag
válasz Delila_1 #28130 üzenetére
működik köszi szépen!
most már csak azt kéne meg tudnom, hogy hogyan tudok erre hivatkozni egy másik lapról!
szóval van ez a sorom:
C:\abc mappa\xy\[proba.xlsx] a munka 1 lapon
hogyan tudnám azt megadni a munka 2 lapon, hogy a jelölt elérési úton lévő fájlból kinyerje az adatokat
ezzel próbálkoztam:
='Munka1!C12Munka1'!$A$1
Itt az elején lévő munka1!c12 az első lapon található cellát jelzi ahol a fájlnév van
a második Munka1'!$A$1
pedig a "linkelt" fájl munka 1 lapjának A1 cellájának az értékétEzek már nem mennek nekem
Köszi
Spóroljunk! Kerül, amibe kerül!
-
Delila_1
Topikgazda
=INDIREKT("'" & Munka1!C12 & "Munka1'!A1")
Az indirekt( után idézőjelek között egy aposztróf van.
Ha a funkcióban a Filename= Left ... elejére kiteszed az aposztrófotFilename= "'" & Left( ...
akkor az indirektesben lehagyhatod a "'" & részt.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Rolfy
csendes tag
Sziasztok! Még nem tettem fel soha kérdést, így ha bénázok, előre is elnézést érte
A kérdésem a következő:
Excel 2007-ben, hogy oldom azt meg, hogy az "A" oszlopban van mondjuk 300 különböző érték. Keresse, vagy jelölje meg azokat az értékeket az "A" oszlopban, melyek összeadva mondjuk 369523 lesz, vagy ehhez a legközelebb eső érték. (Az "A"oszlop összeadva mondjuk 2000000, tehát biztosan kijön belőle -akár legjobb megközelítéssel is- a keresett érték.)
Előre is köszönöm a hasznos válaszokat. -
poffsoft
addikt
új drag, 4. labellel, némi csinosítással : [link]
Amúgy ha vba ablakban vagy , Forms/dragdrop1 <jobbklikk>:
view code: a form makrólapja
view object: maga a form (most ezt keresed)ezután a főmenüben View/Toolbox : az userform vezérlőinek menüje.
Itt a nagy A lesz a label, azt kijelölöd, és rajzolsz egyet az userformba.[ Szerkesztve ]
[ Szerkesztve ]
-
bayay
csendes tag
Sziasztok!
A következőre keresek megoldást:
Adott két dátum, az egyik egy kiinduló dátum, a másik a mai nap, ezek egy-egy cellában vannak elhelyezve. A célom az, hogy a két dátum közötti időintervallumban megszámoljam egy adott nap.hónap kombinációból mennyi darab van.
Példa:
2012.03.01 és 2015.08.19 között hány darab január 1-je fordult elő. (az évszámra való tekintet nélkül)
A következő lépés pedig az lenne, hogy kettő dátumot adok meg feltételnek tehát nem csak a január 1-jét számolja meg, hanem pl. június 1-jét is és ezek előfordulásának összegét írja nekem ki.
Remélem sikerült elmagyarázni
Tudtok esetleg segíteni?
-
bayay
csendes tag
Későn kapcsoltam nem tudtam szerkeszteni, a szóban forgó Excel verzió a 2010-es
Köszönöm!
-
sedyke
tag
[ Szerkesztve ]
-
cekkk
veterán
Sűrűn kellene, így automatizálni kellene, de én hülye vagyok hozzá
A lényeg, hogy van egy termék lista az A oszlopban(ez állandó) és van egy másik termék lista mondjuk C oszlopban(ez változik).
Az kellene vizsgálni, hogy A oszlop elemei megtalálhatóak-e C oszlopbanban ha igen akkor B oszlopban ír egy 1est és még azt kellene viszgálni, hogy a C oszlop elemei között van-e olyan ami nem szerepel az A oszlop elemei között és ha a feltétel igaz akkor azt kijelöli vagy D oszlopba ír valamit oda, mert így kitudm majd egészíteni az A oszlopot és nem kellene egyesével átnézni.
Mondjuk lehet a legjobb az lenne ha két munka füzeten lenne külön külön?Ebbe tudsz tud valaki segítani?
[ Szerkesztve ]
-
cekkk
veterán
válasz poffsoft #28145 üzenetére
Nem jól értelmezed. Mert a B-t nem kell vizsgálni.
Az "A" oszlopot kellene össze hasonlítani "C" oszloppal és a "B" oszlopba jelölni, hogy van egyezés. Majd fordítva is "C" oszlopot "A" oszloppal és a "D" oszlopba jelölni az egyezést és a nincs akkor mondjuk írja ki, hogy nincs. De nem akar jól működni nekem a Fkeres fügyvény
-
bayay
csendes tag
válasz poffsoft #28140 üzenetére
Szia!
köszönöm szépen a képletet, jó kiindulási alapnak tűnik, majdnem mindig működik is, de sajnos a következő dátumokkal gondban vagyok:
http://logout.hu/dl/upc/2015-08/20/543737_y20k2lo8jgv5xnl4_untitled_1.jpg
ugye itt csak egyszer volt az intervallumban december 5-e, a képlet, ahogy átnéztem helyesen számol és 2-t ír ki, ez mégsem jó.
Lenne hozzá ötlet?
[ Szerkesztve ]
Új hozzászólás Aktív témák
- CASIO órák kedvelők topicja!
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Kerékpárosok, bringások ide!
- Rövid előzetesen a S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Milyen NAS-t vegyek?
- Milyen monitort vegyek?
- HP ProLiant MicroServer Gen8
- Helldivers 2 (PC, PS5)
- További aktív témák...
- Warhammer Online - Age of Reckoning (DE) Collectors Box (Figurával!)
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Vírusirtó, Antivirus VPN kulcsok
- Steam, Windows, Origin kulcsok, előfizetések közvetlenül a kiadótól, a LEGJOBB ÁRON!
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!