-
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
-
0P1
aktív tag
válasz dellfanboy #38000 üzenetére
Legegyszerűbb, ha az eredeti értéket használod, Format cells, Custom, és yyyy/mm .
Igy persze megmarad az eredeti datetime érték, csak ÉV/HÓNAP-ként fogja megjeleniteni .
HA szövegként akarod, akkor =YEAR([Date])&"/"&MONTH([Date])
-
Delila_1
Topikgazda
válasz RedHarlow #37999 üzenetére
Feltöltöttem egy fájlt.
A makró elején az utvonal változónak a saját útvonalad add meg, ügyelve arra, hogy \ jellel a végén szerepeljen.
Azokban a sorokban, ahol az AutoFilter szerepel, a $P helyére a saját utolsó oszlopod betűjelét írd a P helyé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.
-
ben800
aktív tag
Sziasztok !
Szükségem lenne egy igen nagy segítségre.
Vba-ban csatlakoztam szerverhez és lefuttattam egy lekérdezést ez eddig nagyon jó meg minden, viszont az alábbi dolgot sajnos nem tudtam megoldani.A felhasználók inputot adnak meg egy cellában például 167, addig rendben is van, viszont most úgy szeretnék hogy megadják például az A1 cellába hogy [1,4,5,10,12] és úgy szeretnék hogy az sql fusson le az itt megadott értékekkel, és mindig egymás alá kerüljenek az sql eredmények.
Például Select * from Sales where CountryID = 1/4/5/10/12 stb...Erre valami olyasmit gondoltam ki hogyha lehetséges hogy tömbbe beleteszem az összes értéket ami a ',' jel után található, és ezt a paramétert mindig átadom a lekérdezésemnek, valamint ezt egy for ciklusba bele kellene tenni, és ugye ez a tömb utolsó eleméig futna.
Valaki esetleg tudna segíteni ebben valamilyen formában ??
UI:Arra még sajnos nem jöttem rá hogy hogyan lehetne mindig az utolsó eredmény alá kiírni az új eredményt...
-
odium
aktív tag
Sziasztok!
Abban szeretnék segítséget kérni, hogy van egy adatsorom excelben és azt szeretném kideríteni, hogy az 1200 adat közül a 300. elem mi lehet.
Köszi!
-
modflow
veterán
Hogyan és/vagy mivel lehet nagyon mutatós táblázatot készíteni?
Ha szinte fontosabb látbány, mint a tartalom.[ Szerkesztve ]
-
szricsi_0917
tag
Sziasztok.
Az lenne a kérdésem, hogy a szumha függvénynél, hogy oldható meg hogy a keresési tartomány pl az A oszlop
de az összegzendő tartomány az a C oszloptól a T oszlopig tart?[ Szerkesztve ]
-
kasza blanka
aktív tag
Üdv
Van egy olyan problémám, hogy havi riportok készítésénél vannak ismétlődő adatok, amiket egy bonyolult tábla segítségével kiszedek és beteszem az újba - vegyesen szöveg, szám, dátum.
eddig működött is rendesen, de gondoltam a megjegyzések oszlopot is át kéne másolni az újba, és itt produkálja a következő hibát: megjegyzések nincsenek minden sorhoz, így sok az üres mező.
ha szöveg van a mezőben, akkor kiszedi rendesen, és ott van az új táblázatban is, azonban ha a mező üres volt, akkor random vagy üres mezőt, vagy nullát kapok eredményül az új táblában.(többnyire nullát)kipróbáltam egy olyan üres cellán, ahol az eredmény is üres cella, hogy ha beírok valamit, akkor átadja az értéket a másik munkalapnak ahogy kell, de ha kitörlöm ezután az eredetibe próbaként beírt szöveget, akkor már nulla lesz az új táblában, és nem üres cella. ha ezután ctrl-z-vel visszaállítom az eredeti állapotot, akkor az új táblában ismét üres a cella, és eltűnik a nulla.
próbáltam változtatni a kiinduló és céloszlopok típusát szám, általános és szöveg között, de ugyanez történik, max más a formátum.
ez lenne a képletem (a D18, illetve E18-as cellában a forrás tábla fájlneve, a munkalap neve stb van)
=INDEX(INDIREKT(D$18);HOL.VAN(E23;INDIREKT(E$18);0);4)
Valakinek van ötlete?
[ Szerkesztve ]
-
modflow
veterán
válasz dellfanboy #38009 üzenetére
Ez a fancy dashboarding az ecxelen belül van?
-
szricsi_0917
tag
válasz szricsi_0917 #38007 üzenetére
=SZUM(ELTOLÁS(INDEX(B5:B600;HOL.VAN(V2;B5:B600;0));;7):ELTOLÁS(INDEX(B5:B600;HOL.VAN(V2;B5:B600;0));;18))
Ez a képlet lett, kicsit változtatva közben a táblázat kinézetén is. Vagy van ennél egyszerübb is esetleg?
[ Szerkesztve ]
-
Fferi50
őstag
válasz kasza blanka #38008 üzenetére
Szia!
Próbáld így:
=HA(ÜRES(INDEX(INDIREKT(D$18);HOL.VAN(E23;INDIREKT(E$18);0);4));"";INDEX(INDIREKT(D$18);HOL.VAN(E23;INDIREKT(E$18);0);4))
Üdv.
-
Traxx
őstag
Sziasztok!
Adott egy táblázat, ahol egy cella feltételes formázási szabályok alapján dátum szerint színeződik el. Pl. =ÉS(E1>=MA();E1<=MA()+8;NEM(ÜRES(E1)))
Ezt ki lehet-e egészíteni úgy, ha a mellette lévő D1 rendelkezik már pl. kék színnel, akkor ne színezzen?
Köszönöm
"Amúgy a lekvár leszedésre jobb módszer is van: le kell nyalni... elképzelem, ahogy egy nagy PH!-s procitesztben fLeSsék nyalogatják a procikat" by Male (Hűtőpaszta vs. lekvár 2. rész)
-
lappy
őstag
Szia
Makroval lehet csak szin kezelést figyelni.
De ha az adott cellaban is felteteles formázás szerint lesz kék (mas szint is felvehet) akkor be kell építeni a ha függvénybe a kék szinezes részét persze ez függ attól is hogy miket fegyel[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
-
Traxx
őstag
Köszönöm a választ! Igen, a másik cellában is van feltételes formázás, ami azt nézi, hogy egy másik munkalapon szerepel-e egy cellaérték. Jelesül a feltételes formázás képlete a D1-ben: =FKERES($A1;jelenleti;1;HAMIS)>0
Delila_1: de kell, mert az első nagyobb-egyenlő, mint MA(), a második kisebb egyenlő
"Amúgy a lekvár leszedésre jobb módszer is van: le kell nyalni... elképzelem, ahogy egy nagy PH!-s procitesztben fLeSsék nyalogatják a procikat" by Male (Hűtőpaszta vs. lekvár 2. rész)
-
ro_bert17
őstag
Sziasztok!
Lapvédelmet hogy tudok gyorsan kikapcsolni egy fájlban? (Ne kelljen az össze fülnél egyenként) -
lappy
őstag
válasz ro_bert17 #38019 üzenetére
ha minden lapnak ugyanaz a jelszava
akkor
http://excel-bazis.hu/tutorial/lapvedelem-tobb-munkalapra-egyszerreBámulatos hol tart már a tudomány!
-
szatocs1981
aktív tag
Sziasztok,
segitsegre lenne szuksegem: Makro nelkül kellene a kövezöket megoldani: Az egyik munkalap egyik oszolpat vizsgalni, talalat eseten az teljes sort a masik munkalapra masolni egymas ala (ha lehet a masolt cellakat az eredeti tartalommal "linkelve").
elöre is köszönöm a segitseget
[ Szerkesztve ]
-
lcdtv
aktív tag
Tud valaki arra megoldást, hogy ha A oszlop szövege "Pirosalma: 5 tonna" B oszlop szövege "Érett Pirosalma:" akkor a maradék szöveget az A oszlopból ami "5 tonna" a C oszlopba írja ki. Amit vizsgálni kell az mindig kettősponttal van zárva és utána a szöveg mindig egy szóköz után indul. Előre is köszi!
[ Szerkesztve ]
-
0P1
aktív tag
válasz szatocs1981 #38022 üzenetére
Jelöld ki a forrás táblázatot : Adatok - Adatok beolvasása és átalakitása - Táblázatból vagy tartományból
Állitsd be az adott oszlopra a kivánt szűrést, és Bezárás és betöltés. Ezután, ha a forrás táblázat módosul, csak rá kell frissiteni a cél táblázatra.
Az eredeti tartalomra való "linkelés" nem megoldható makró nélkül. -
lcdtv
aktív tag
Lehetséges egymás melletti oszlopok értékeit egy oszlopba, egymás alá új sorokba rendezni?
-
-
lcdtv
aktív tag
válasz Delila_1 #38032 üzenetére
Igen azt néztem de az egymás mellé oszlopokba teszi, nekem meg egymás alá kellene. Találtam egy megoldást lehet másnak is jó lehet
Sub ChickatAH()
Dim rng As Range, Lstrw As Long, c As Range
Dim SpltRng As Range
Dim i As Integer
Dim Orig As Variant
Dim txt As String
Lstrw = Cells(Rows.Count, "A").End(xlUp).Row
Set rng = Range("A2:A" & Lstrw)
For Each c In rng.Cells
Set SpltRng = c.Offset(, 1)
txt = SpltRng.Value
Orig = Split(txt, " ")
For i = 0 To UBound(Orig)
Cells(Rows.Count, "D").End(xlUp).Offset(1) = c
Cells(Rows.Count, "D").End(xlUp).Offset(, 1) = Orig(i)
Next i
Next c
End Sub
csak egy hiányzik hogy külön fülre tegye az eredményt. -
Mutt
aktív tag
Szia,
B1-ben ez a képlet felszabdalja az A1 cella tartalmát:
=HA(SOROK(B$1:B1)-1>HOSSZ($A$1)-HOSSZ(HELYETTE($A$1;";";""));"";KIMETSZ(KÖZÉP($A$1;HAHIBA(SZÖVEG.TALÁL("@";HELYETTE($A$1;";";"@";SOROK(B$1:B1)-1));0)+1;HAHIBA(SZÖVEG.TALÁL("@";HELYETTE($A$1;";";"@";SOROK(B$1:B1)));HOSSZ($A$1)+1)-HAHIBA(SZÖVEG.TALÁL("@";HELYETTE($A$1;";";"@";SOROK(B$1:B1)-1));0)-1)))
Power Query-ben az oszlop felosztása esetén pedig megadhatod, hogy a kimenet sorokba legyen rendezve.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
Szia,
Az
.Offset(, 1) =
részben a vessző után 1-es azt jelenti, hogy egy oszloppal mindig menjen jobbra a kiiratás, ha.Offset(1) =
-re cseréled akkor a következő sorra fog ugrani.Sub ChickatAH()
Dim rng As Range, Lstrw As Long, c As Range
Dim SpltRng As Range
Dim i As Integer
Dim Orig As Variant
Dim txt As String
Lstrw = Cells(Rows.Count, "A").End(xlUp).Row
Set rng = Range("A2:A" & Lstrw)
Set kimenet = Sheets.Add 'új lapon legyen az eredmény
For Each c In rng.Cells
'Set SpltRng = c.Offset(, 1) 'felesleges
'txt = SpltRng.Value 'felesleges változóátadás
'Orig = Split(txt, " ") 'nem szököz alapján szabdalunk
Orig = Split(c, ";")
For i = 0 To UBound(Orig)
'Cells(Rows.Count, "D").End(xlUp).Offset(1) = c 'D oszlop üres sorába kiírja az eredeti értéket, nem kell?
'Cells(Rows.Count, "D").End(xlUp).Offset(, 1) = Orig(i) 'az offset(,1) mindig a következő oszlopba ugrik, nem ez kell
kimenet.Cells(Rows.Count, "D").End(xlUp).Offset(1) = Trim(Orig(i)) 'felesleges szóköztől megszabadulunk
Next i
Next c
End Subüdv
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
lcdtv
aktív tag
Látom Profi Mutt fórumtárs.
Egyszer már kérdeztem és van is rá megoldás sajna fizetős , de ha nincs más akkor megveszem.
Adott több munkalap azon belül 10 fül természetesen a fülek nevei ugyan azok. Ezeket kellene összevonnom egy munkalappá. Eddig csak egy fül volt, egy adott könyvtárba bemásoltam majd Indit gomb és összevonta az összes munkalapot ami a könyvtárba volt ( de csak az első fület )
ez volt a kód ( ha esetleg ezt át lehetne alakítani hogy minden fület fűzzön össze )Sub ttt()
mappak = Array("D:\Mappa\")
If Dir("D:\Mappa\eredmeny.xlsx") <> "" Then Kill "D:\Mappa\eredmeny.xlsx"
For Each mappa In mappak
Set uj = Workbooks.Add
fajl = Dir(mappa & "*.xlsx")
celsor = 1
Do While fajl <> ""
Workbooks.Open Filename:=mappa & fajl, ReadOnly:=True
sor = Range("a1").SpecialCells(xlLastCell).Row
If celsor = 1 Then
Range("a1", Range("a1").SpecialCells(xlLastCell)).Copy uj.Sheets(1).Cells(celsor, 1)
celsor = celsor + sor
Else
Range("a2", Range("a1").SpecialCells(xlLastCell)).Copy uj.Sheets(1).Cells(celsor, 1)
celsor = celsor + sor - 1
End If
ActiveWorkbook.Close False
fajl = Dir()
Loop
uj.SaveAs mappa & "eredmeny.xlsx"
uj.Close False
Next
MsgBox "Kész"
End Sub -
Mutt
aktív tag
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
Próbáld meg ezt a javított makrót.
Sub ttt()
Dim forraslap As Worksheet, cellap As Worksheet
Dim forrasfuzet As Workbook
mappak = Array("D:\Mappa\")
If Dir("D:\Mappa\eredmeny.xlsx") <> "" Then Kill "D:\Mappa\eredmeny.xlsx"
For Each mappa In mappak
Set uj = Workbooks.Add
fajl = Dir(mappa & "*.xlsx")
Do While fajl <> ""
Set forrasfuzet = Workbooks.Open(Filename:=mappa & fajl, ReadOnly:=True)
For i = 1 To forrasfuzet.Worksheets.Count
Set forraslap = forrasfuzet.Worksheets(i)
Set cellap = Nothing
If forraslap.Visible = xlSheetVisible Then 'csak a látható lapok érdekelnek
On Error Resume Next
'próbáljuk megnyitni az új füzetben a forrásban található azonos nevű lapot
Set cellap = uj.Worksheets(forraslap.Name)
On Error GoTo 0
'ha nincs még az új füzetben ilyen nevű lap, akkor létrehozzuk
If cellap Is Nothing Then
Set cellap = uj.Worksheets.Add
cellap.Name = forraslap.Name
End If
'ha még nincs fejléc akkor másoljuk
If cellap.Range("A1").CurrentRegion.Rows.Count = 1 Then
forraslap.Range("A1", forraslap.Range("A1").SpecialCells(xlLastCell)).Copy cellap.Range("A1")
Else
'ha már van fejléc akkor azt átugorjuk
forraslap.Range("A2", forraslap.Range("A1").SpecialCells(xlLastCell)).Copy _
cellap.Range("A" & cellap.Range("A1").CurrentRegion.Rows.Count + 1)
End If
End If
Next i
'bezárjuk a forrásfájlt
forrasfuzet.Close False
'jöhet az újabb fájl a mappából
fajl = Dir()
Loop
uj.SaveAs mappa & "eredmeny.xlsx"
uj.Close False
Next
MsgBox "Kész"
End SubA tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
lcdtv
aktív tag
Köszönöm! Mind a kettő megoldás működik igaz Power Query-ben csak egy fület tudok összevonni valamiért.
A javított makród pöpec lett. Esetleg hogy ugyan abban a sorrendben hagyja a füleket mint ahogy van? Valamiért átrendezi visszafelé + egy Munka1 nevűt is létrehoz.
Ez a hiba mit jelent (minden alkalommal hozza)<?xml version="1.0" encoding="UTF-8" standalone="true"?>
-<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<logFileName>error009600_01.xml</logFileName>
<summary>Hiba a fájlban (D:\Mappa\eredmeny.xlsx)</summary>
-<removedFeatures summary="Az eltávolított funkciók listája:">
<removedFeature>Eltávolított funkció: Adatok érvényesítése innen: /xl/worksheets/sheet2.xml</removedFeature>
<removedFeature>Eltávolított funkció: Adatok érvényesítése innen: /xl/worksheets/sheet3.xml</removedFeature>
<removedFeature>Eltávolított funkció: Adatok érvényesítése innen: /xl/worksheets/sheet5.xml</removedFeature>
<removedFeature>Eltávolított funkció: Adatok érvényesítése innen: /xl/worksheets/sheet6.xml</removedFeature>
<removedFeature>Eltávolított funkció: Adatok érvényesítése innen: /xl/worksheets/sheet7.xml</removedFeature>
<removedFeature>Eltávolított funkció: Adatok érvényesítése innen: /xl/worksheets/sheet8.xml</removedFeature>
<removedFeature>Eltávolított funkció: Adatok érvényesítése innen: /xl/worksheets/sheet9.xml</removedFeature>
<removedFeature>Eltávolított funkció: Adatok érvényesítése innen: /xl/worksheets/sheet10.xml</removedFeature>
</removedFeatures>
</recoveryLog> -
bteebi
veterán
Sziasztok!
Egy Excel file "Csereadat" munkalapján lévő cellák tartalmával (cserélendő szöveg az 1., csereszöveg a 2. oszlopban) szeretnék egy Word file-ban szavakat kicserélni. Itt van hozzá a makróm:
Sub OpenDoc()
Dim ablak As FileDialog
Dim WordApp As Object
Dim WordDoc As Object
Dim fname As String
Const wdReplaceAll = 2
Dim NumRows As Integer
Dim ChRow As Integer
Set ablak = Application.FileDialog(msoFileDialogFilePicker)
If ablak.Show = True Then
fname = ablak.SelectedItems(1)
Else: Exit Sub
End If
Application.ScreenUpdating = False
Application.EnableEvents = False
Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open(Filename:=fname)
NumRows = Sheets("Csereadat").UsedRange.Rows.Count
For ChRow = 2 To NumRows
With WordDoc.Content.Find
.Execute FindText:=Sheets("Repeated data edited").Cells(ChRow, 1), _
ReplaceWith:=Sheets("Repeated data edited").Cells(ChRow, 2), Replace:=wdReplaceAll
End With
Next ChRow
Application.ScreenUpdating = True
Application.EnableEvents = True
With WordApp
.Visible = True
.Activate
End With
Set ablak = Nothing
End SubAlapvetően jól működik, egyetlen problémával. Csak a szövegtörzsben cseréli ki a szöveget, a fejlécben és a láblécben nem. Word VBA-val találtam rá megoldást (wdStoryRange), de Excellel nem tudtam megoldani. Tudnátok tanácsot adni? Előre is köszönöm!
Cancel all my meetings. Someone is wrong on the Internet.
-
Delila_1
Topikgazda
válasz bteebi #38043 üzenetére
Figyelmetlenül olvastam.
A fejléc szövegeit így adhatod meg makróban:
ActiveSheet.PageSetup.LeftHeader = "FejlécBal"
ActiveSheet.PageSetup.CenterHeader = "FejlécKözép"
ActiveSheet.PageSetup.RightHeader = "FejlécJobb"
ActiveSheet.PageSetup.LeftFooter = "LáblécBal"
ActiveSheet.PageSetup.CenterFooter = "LáblécKözép"
ActiveSheet.PageSetup.RightFooter = "LáblécJobb"A fix szövegek helyett hivatkozhatsz cellák tartalmára is, és az aktív lap helyett megadhatod más lap nevét, vagy sorszámá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.
-
bteebi
veterán
válasz Delila_1 #38044 üzenetére
Excelben igen (azt még én is tudtam , de persze köszönet azért is ), de nekem az kellene, hogy a Wordben lévő összes fej- vagy láblécben (is, tehát mindenhol) tudjam szerkeszteni az adatokat, cserével, Excelből (Excel VBA-val). A csere (replace all) maga működik, de csak a szövegtörzsben.
Tehát ha például azokat az elemeket, hogy "Város1" le akarom arra cserélni, hogy például "Nagykanizsa", akkor az működik a Word file szövegtörzsében, de a fej/láblécben nem megy. Ez a probléma, remélem így már (nem félre)érthető . Bocsánat az esetleg pontatlan megfogalmazásért .
Cancel all my meetings. Someone is wrong on the Internet.
-
lcdtv
aktív tag
Az értékhez szeretném azt hogy ha az Ár 2 , 0 , akkor az Ár 1 értékét írja bele, ha nem 0 akkor csak egy kötőjelet írjon. Addig eljutok a "HA" az működik de nem tudom pl egy Fkeresbe beilleszteni. -
Lokids
addikt
Sziasztok!
Lenne egy olyan problémám, hogy egy cellában kapott érték kerekítve van. Én ezzel az értékkel szeretnék tovább számolni.
Azaz a Cella értéke 6, ami valójában, csak 5.77. Namost ha én szeretnék ezzel a cellával valamit csinálni, pl szorozni, akkor az 5.77-el fog számolni, viszont én azt szeretném, hogy a kerekített összeget használja.Lehetséges ez?
Ezt próbáltam, de hibát ad.
=((E22*0,2)/12)*(KEREKÍTÉS(AH22,1))
[ Szerkesztve ]
If you chase two rabbits you will lose them both.
-
-
lcdtv
aktív tag
Köszi de ez valahogy nem az ami kellene. De lehet én nem írtam le jól
Az érték oszlopba szeretném azt hogy keresse meg az A2 alma szöveget az A10-A15 ben majd ha az Ár 2 , 0 , az pl. alma, akkor az pl.alma Ár 1 értékét írja bele, ha nem 0 akkor csak egy kötőjelet írjon.