- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- Atomenergiával dübörögnek tovább az Amazon adatközpontok, SMR-ek is jöhetnek
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Az NVIDIA ipari AI-felhőt épít a németeknek, együtt az OpenAI és a Google
- Két új Ryzen közül választhatnak a kézikonzolok
-
PROHARDVER!
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
-
Caipi
tag
Sziasztok,
Kérdésem lenne:
Adott két táblázat (lásd kép). Bal oldaliba függvénnyel kerülnek az adatok, jobb oldaliba kézi rögzítéssel.
Szeretném valahogy levizsgálni, hogy a kézi rögzítés a bal oldali táblázatnak megfelelő oszlopba/oszlopokba történik-e.
(Azaz, ha egy adott sorban egy vagy több oszlopban van érték, akkor a kézi rögzítésnek is az annak megfelelő oszlopokba kellene történnie. Pl: bal oldal A3;D3, akkor jobb oldal H3;K3 cellákba kell értéket bevinni)Köszönöm előre is :-)
A vizsgálat külön oszlopba menne, mondjuk az F-be.
-
Helló !
Egy olyan kérdésem lenne,hogy van egy táblázatom, melynél az első munkalapon viszem be az adatokat, (Név, Cim, és több oszlopon keresztül tulajdonságok számokkal értékelve). A 2.Munkalapra kerülnek ezek az adatok, de a számokból egy súlyozott indexet csinálok, és ezen indexek szerint szeretném csökkenő sorrendbe tenni őket.
Tehát amint írok be az első munkalapon új céget, a 2. munkalapon amint bekerül a sorok közé az új adat, automatikusan csökkenő sorrendben jelenjen meg.
Makróval kell, arra rájöttem, de az istenért nem akar működni :\Köszönöm.
-
Mutt
senior tag
Hello,
A létező xls-ben van-e már workbook open event?
Ha tőled függetlenül már van, akkor meg van az indok hogy miért hasal el.
Ha azt nem tudod/mered változtatni, akkor Auto_Open névvel kell egy module-ba a kódódat beszúrni.'új module beszúrása
Set VBComp = VBProj.VBComponents.Add(vbext_ct_StdModule)
VBComp.Name = "NewModule"
Set CodeMod = VBComp.CodeModule
'Auto_Open sub létrehozása
With CodeMod
LineNum = .CountOfLines + 1
.InsertLines LineNum, "Sub Auto_Open()"
LineNum = LineNum + 1
.InsertLines LineNum, Code3
LineNum = LineNum + 1
.InsertLines LineNum, "End Sub"
End WithEsetleg az Auto_Close sub-ba pedig tehetsz egy olyat, hogy az Auto_Open-t törölje ha az már lefutott.
üdv.
-
Mutt
senior tag
válasz
csferke #17759 üzenetére
Hello,
Szerintem ez a képlet megteszi B4-ben:
=INT(B3)+HA((B3-INT(B3))>0,5;1;HA((B3-INT(B3))<1/3;0;0,5))
B3-ban gondolom egy sima B2-B1 van egyéni számformátummal.
Az első fele megadja a napok számát, a második fele pedig attól függően, hogy a napból hány óra telt el 0; 0,5 vagy 1-et ad még hozzá.
üdv.
-
Mutt
senior tag
válasz
dellfanboy #17760 üzenetére
Hello,
Delila_1 mintájára építve ez a CSE függvény is műkődik erre:
{=MAX(HA(A2:A7=E2;B2:B7))}
üdv
-
Kobe
veterán
hello mester
köszi a tippeket mint mindig
igen, próbálkoztam azzal, hogy átírom így, ahogy te is javasoltad:
LineNum = .CreateEventProc("Open", "Workbook")
de ilyenkor valamiért összeakadt a kód többi sorával - általában elakadt ennél a sornál, és accessben egy "Event handler is invalid" hibaüzenetet kaptam.
Igazából az lenne a cél, hogy az adott makró csak 1 fusson le, és többször ne, gondolom akkor ez az If amit írtál, azt csinálja hogy csak akkor futtatja, ha A1 üres, ha bármilyen érték van benne, akkor már nem fut le. Ez tök jó lenne, mert A1 általában mindig ki van töltve, csak amint átakarnám írni Open eventprocedurre a dolgot, onnantól kezdve borul a bili
pedig van egy hasonló makró ami létrehoz és emgformáz egy táblázatot excelben, az ugyanezzel a kóddal perfektül működik. Nem tudom, hogy az xls tartalmának lehet e közze hozzá, ez a file amit használni akarok annyiban komplikáltabb hogy általában 3 munkalap van rajta:
Sheet1 (INT)
Sheet2 (excl INT)
Sheet3 (All)én igazából ezt a makrót mindig csak az INT nevű munkalapon szeretném futtatni, gondolom akkor ezt valahogy a Code = Code & .... részben definiálni kellene
-
Mutt
senior tag
Hali,
Ugyanarra jutottunk.
Az egyetlen gondom az, hogy a sub nem fut le automatikusan...
Mivel a Sheet1 Change eseményébe szúrod be ezért nem fut le, Workbook Open esemény kell, de meg kell oldanod hogy ne minden megnyitáskor, hanem csak változáskor fusson le.
LineNum = .CreateEventProc("Open", "Workbook")
Esetleg csinálhatod azt hogy
If Thisworkbook.Sheets("Sheet1").Range("A1") = "" Then
<ide az eredeti kód>
Thisworkbook.Sheets("Sheet1").Range("A1") = 1
End ifüdv.
-
Mutt
senior tag
Hello,
A hibát a
LineNum2 = .VBE.MainWindow.Visible = False sor okozza.
Mivel ez egy parancs a VBA editornak ezért csak így lesz jó:Application.VBE.MainWindow.Visible = False
Nekem így már lefut .xls-en is, látszólag .xlsx-en is megcsinálja, de mivel az makrómentes ezért mentéskor eldobja.
üdv.
-
Kobe
veterán
na, 1 kicsit hegesztettem a kódon 1-2 apróságot, így ebben a formában már sikerült elérnem hogy az Excel VBA-jába a Sheet 1 -re Private Sub / End Sub közé teszi be a Code3 tartalmát.
Az egyetlen gondom az, hogy a sub nem fut le automatikusan, pedig jó lenne ha azt beinsertálás után automatikusan futtatná is.
Van tippetek mit kellene hozzáadni, változtatni hogy az is menjen ?
Function OpenformatSWP()
Dim objexcel As Object
Dim objworkbook As Object
Dim CodeMod As Object
Dim LineNum As Long
Dim Code3 As String
Dim destination2 As String
destination2 = "C:\Access programmer\test.xls"
Set objexcel = CreateObject("Excel.Application")
objexcel.Visible = True
objexcel.DisplayAlerts = False
Set objworkbook = objexcel.Workbooks.Open(destination2)
'Set CodeMod = objworkbook.VBProject.VBComponents("Sheet1").CodeModule
Set CodeMod = objworkbook.VBProject.VBComponents("Ark1").CodeModule
Code3 = ""
Code3 = Code3 & " Dim lngLastRow" & vbNewLine
Code3 = Code3 & " lngLastRow = Cells(Rows.Count, ""A"").End(xlUp).Row" & vbNewLine
Code3 = Code3 & " Columns(""X:X"").Select" & vbNewLine
Code3 = Code3 & " Selection.Insert Shift:=xlToRight" & vbNewLine & vbNewLine
Code3 = Code3 & " Range(""X1"").Select" & vbNewLine
Code3 = Code3 & " ActiveCell.FormulaR1C1 = ""common_id""" & vbNewLine & vbNewLine
Code3 = Code3 & " Range(""X2"").Select" & vbNewLine
With CodeMod
LineNum = .CreateEventProc("Change", "Worksheet")
' .VBE.MainWindow.Visible = False
LineNum = LineNum + 1
.InsertLines LineNum, Code3
End With
objworkbook.Save
objworkbook.Close
'reopen Excel to run autostart
objexcel.Workbooks.Open (destination2)
End Function -
mr.nagy
tag
Sziasztok!
Egy cella értékét kellene vizsgálni, hogy egész vagy tört szám. Egy másik cellában mellette pedig megjeleníteni, ha egész egy 1-set, ha tört egy 2-est (vagy igaz vagy hamis eredmény is jó lenne). Van erre függvény?
-
pirit28
csendes tag
Szia Delila_1 !
a 17756-os válaszodra
Kössz a gyors reagálást..Egy kicsit ,hogy is mondjam elakadtam.
1. Hol tudom Foto2 -nek elnevezni amit kell ?
Vagy jól csináltam vagy nem , de folyton run time error üzenet fogad.
'-2147024809 (80070057)'
debuggolva ezt mutatja
Sheets("Sheet2").Shapes("Foto2").Visible = FalseKöszönöm
-
alfa20
senior tag
válasz
Delila_1 #17777 üzenetére
Így kell?
ActiveWorkbook.Worksheets("Active.Sheet").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Active.Sheet").Sort.SortFields.Add Key:=Range( _
"A2:A376"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Active.Sheet").Sort.SortFields.Add Key:=Range( _
"B2:B376"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Active.Sheet").Sort
.SetRange Range("A1:Z376")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End Withennek a helyén
Range( _
"A2:A376")működhet usor-al:
Range( _
"A2:A" & usor)Ez az eredeti:
ActiveWorkbook.Worksheets("0416-kp").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("0416-kp").Sort.SortFields.Add Key:=Range( _
"A2:A376"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("0416-kp").Sort.SortFields.Add Key:=Range( _
"B2:B376"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("0416-kp").Sort
.SetRange Range("A1:Z376")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With -
alfa20
senior tag
makró-ban tudna valaki segíteni?
Sorba rendezést szeretnék előbb "B" oszlopra majd "A"-ra, próbáltam makrórögzítéssel, de ott mindig megadja a munkalap nevét, de az nekem minden nap más. -
Telda
addikt
Hali!
A lenti függvényben a dupla idézőjeleknek van valami különleges jelentése?
=HA(L265="";"";L265/60)
Tehát ha L265="" akkor az eredmény "" máskülönben az L265 értékét ossza 60-nal?
Mi lenne ez a "" ? -
Kobe
veterán
A code3 nevu beillesztett kod tartalmatol fuggetlenul mindig ugyanazzal a hibaval fut le, es Sub / End sub okat mindig kulon rakja be, eloszor a kod majd utana a sub/ end sub, es accessben elakad a korabban irt sornal
amit baromira nem ertek hogy van egy ugyanilyen makrom, az egy excelbe importalt adatlistan hajt vegre muveletet ott tokeletesen mukodik, itt meg hogy egy elore letrehozott filbe akarom, nem megy
-
Delila_1
veterán
válasz
csferke #17758 üzenetére
Nem voltak jók az előző képletek. Az időknél a perceket, és másodperceket is figyelembe kell venni, még akkor is, ha nem látszanak.
Irgalmatlan hosszú képlet kell hozzá, pedig a napok különbségét külön, a C3 cellában számoltatom ki a =NAP(B2)-NAP(B1) képlettel.
B4:
=HA(ÉS(C3=0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(8;0;0));0;HA(ÉS(C3=0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))>IDŐ(8;0;0);IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(12;0;0));0,5;HA(ÉS(C3=0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))>IDŐ(12;0;0));1;HA(ÉS(C3>0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(8;0;0));C3;HA(ÉS(C3>0;IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))>IDŐ(8;0;0);IDŐ(ÓRA(B2);PERC(B2);MPERC(B2))<=IDŐ(12;0;0));C3+0,5;C3+1)))))Remélem, ez már jól működik.
-
Delila_1
veterán
válasz
dellfanboy #17767 üzenetére
A szűrés behívása előtt jelöld ki a tartományt, ahogy a képen látod. Panaszkodni fog, hogy nem tudja megkülönböztetni az adatokat a címtől, mert mindegyik szöveges. Ne törődj vele, menj tovább, vagy írd be előre az E1-be az A1 értékét.
-
dellfanboy
őstag
válasz
Delila_1 #17764 üzenetére
köszi szépen, ez jónak tűnik de az első lépést nem tudom abszolválni mert azt a hibát kapom hogy aA kivonatolt tartományban egy mezőnév hiányzik??
próbálkoztam avval, hogy a mező formátuma nem jó, értsd létrehoztam magam az ország neveket de nem lett jó. mi lehet a hibA? -
Delila_1
veterán
válasz
dellfanboy #17760 üzenetére
Az Adatok | Rendezés és szűrés | Speciális menüpont segítségével a kép szerint tedd ki az egyedi értékeket egy új oszlopba, ami nálam az E. Régebbi verzióban a menüt az Adatok | Szűrő | Irányított szűrő cím alatt találod meg.
Az F2 cella képlete
=MAX(INDIREKT("B"&HOL.VAN(E2;A:A;0)&":B" & HOL.VAN(E2;A:A;1))) -
alfa20
senior tag
válasz
dellfanboy #17760 üzenetére
nem tudom tud-e ilyet az fkeres, mert az első találatot keresi, majd a hozzá értők meg mondják a tutit, de addig rendezd sorba előbb a lakosság számára majd az országra, addig is jó lesz míg nem kapsz más választ
-
dellfanboy
őstag
fkeres-el kapcsolatban lenne egy kérdésem.
a tábla ahol keresem az értéket duplikálva vannak a sorok.
országok plussz hozzá lakosság száma (pl Ausztria 2 sorral szerepel)
arra a fv-re lenne szükségem ami pl Ausztria esetén a maximumot tehát a 2 sorból az egyiket ahol az érték magasabb -
csferke
senior tag
Közben volt egy tel.hívásom és lejárt a szerkesztési időm.
Itt a folytatása a kérdésnek.
Azt kellene elérnem, hogy B4 értéke a következőképen változzon
ha B3 0nap 08:00 vagy kevesebb akkor B4=0
ha B3 0nap 08:01 és 0nap 12:00 között van akkor B4=0,5
ha B3 0nap 12:01 vagy nagyobb akkor B4=1
ha B3 Xnap 08:00 akkor B4=X
ha B3 Xnap 08:01 és Xnap 12:00 között van akkor B4=X+0,5
ha B3 Xnap 12:01 vagy nagyobb akkor B4=X+1Remélem ki lehet hámozni, hogy mit is szeretnék.
köszönettel
-
csferke
senior tag
Sziasztok!
Elakadtam az alábbi táblázat IF ágaiban:B3 = B2 - B1
B4 = =IF(HOUR(B3)<8;DAY(B3);IF(AND(HOUR(B3)>=8;HOUR(B3)<=12);DAY(B3)+0.5;DAY(B3)+1)) -
Delila_1
veterán
Legyen nyitva a makró(ka)t tartalmazó füzeted.
A "Gyorselérési eszköztár" jobb oldalán van egy lefelé mutató nyíl. Erre kattintva a megjelenő menüből hívd elő a "További parancsok" nevűt. A "Választható parancsok helye" legördülőben kiválasztod a "Makrók" nevűt, a többi már látszik.
Mikor átteszel egy makrót a jobb oldali listába, érvényes lesz a "Módosítás" gomb, amivel az alkotók ízlése szerinti gombképet rendelhetsz az ikonodhoz. -
Delila_1
veterán
válasz
pirit28 #17744 üzenetére
Bár nem vagyok "úr", azért megpróbálok válaszolni.
Hozd létre a Sheet1 lapon a fényképezőgéppel az objektumot. Ezt másold a Sheet2-re (Ctrl+c, Ctrl+v), és nevezd el Foto2-nek. Kijelölve az új objektumot, a szerkesztőlécen az =$B$1 helyett ezt írd be: =Sheet1!$B$1
A Sheet2 laphoz rendeld a makrót:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Target = Sheets("Sheet1").Range("A1") Then
F_mutat
Else
F_rejt
End If
End If
End SubÚj modulba másold a lenti 2 makrót:
Sub F_mutat()
Sheets("Sheet2").Shapes("Foto2").Visible = True
End SubSub F_rejt()
Sheets("Sheet2").Shapes("Foto2").Visible = False
End SubHa a Sheet2 lap A1 cellájába beírt név megegyezik a Sheet1 lap A1 cellájának értékével, a Sheet2 lapon látható lesz a fotó, egyébként nem.
-
Kobe
veterán
mivel ugyanaddig a sorig jut el a makró, ezért ugyanúgy néz ki:
ezt rakja be visual basicbe:
Dim lngLastRow
lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row
Columns("X:X").Select
Selection.Insert Shift:=xlToRight
Range("X1").Select
ActiveCell.FormulaR1C1 = "common_id"
Range("X2").SelectEzt meg hozzácsapja alulra:
Private Sub Worksheet_Change(ByVal Target As Range)
End SubAz access meg runtime error 40063 at dob
-
lapa
veterán
-
-
lapa
veterán
ez micsoda?
LineNum2 = LineNum2 + 1
amúgy ettől függetlenül elég csúnya a sok select meg activecell meg ilyenek. valami ilyesmi is működne szerintem:
Dim lngLastRow
lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row
Columns("X").Insert Shift:=xlToRight
range("X1").value = "common_id"Range("X2").Select
End Sub -
pirit28
csendes tag
Üdvözletem az uraknak !
Először is nem tudom ,hogy jó topik-ba írok-e,ha nem elnézést kérek.
A kérdésem a következő lenne.
2003-as excellben a fényképezőgép funkciót használva a képet beillesztettem egy cellába.
Egy másik táblában meg tudom -e jeleníteni ezt a képet egy függvény vagy makró használatával.
Pl:; 1 sheet1 b1-es cellájában van a kép, és a shett2 b1-es cellájába szeretném ezt látni valamilyen megoldással.A sheet a1-es cellában egy név található az b2-ben pedig a kép.A sheet2 a1 cellájába beírva a nevet, akkor az a sheet2 b1-es cellában megjelenjen.Remélem érthető voltam .A választ előre is köszönöm
-
lapa
veterán
hahó. régen (excel 2003 alatt) lehetett csinálni kusztom gombokat az eszköztárra, amik xyz munkafüzet makrójára mutattak. van valami hasonló módszer 2007 alatt? köszi.
röviden: az aktuálisan megnyitott munkafüzetektől függetlenül szeretnék képesnek lenni makrót indítani.
-
Kobe
veterán
helló
köszi a tippet, így működik
Viszont az egyik makróm továbbra sem akar tökéletesen funkcionálni:
Function OpenformatSWP()
Dim objexcel As Object
Dim objworkbook As Object
Dim CodeMod As Object
Dim LineNum2 As Long
Dim Code3 As String
Const DQUOTE = """" ' one " character
Dim destination2 As String
destination2 = "C:\Users\test\swp\test.xls"
Set objexcel = CreateObject("Excel.Application")
objexcel.Visible = True
objexcel.DisplayAlerts = False
Set objworkbook = objexcel.Workbooks.Open(destination2)
Set CodeMod = objworkbook.VBProject.VBComponents("Sheet1").CodeModule
Code3 = ""
Code3 = Code3 & " Dim lngLastRow" & vbNewLine
Code3 = Code3 & " lngLastRow = Cells(Rows.Count, ""A"").End(xlUp).Row" & vbNewLine
Code3 = Code3 & " Columns(""X:X"").Select" & vbNewLine
Code3 = Code3 & " Selection.Insert Shift:=xlToRight" & vbNewLine & vbNewLine
Code3 = Code3 & " Range(""X1"").Select" & vbNewLine
Code3 = Code3 & " ActiveCell.FormulaR1C1 = ""common_id""" & vbNewLine & vbNewLine
Code3 = Code3 & " Range(""X2"").Select" & vbNewLine
With CodeMod
LineNum2 = .CreateEventProc("Change", "Worksheet")
LineNum2 = .VBE.MainWindow.Visible = False
LineNum2 = LineNum2 + 1
.InsertLines LineNum2, Code3
End With
objworkbook.Save
objworkbook.close
'reopen Excel to run autostart
objexcel.Workbooks.Open (destination2)
End Functionezt a functiont futtatom accessből, és az volna a cél, hogy a test.xls file első munkalapjára beszúrjon és futtasson egy kódot.
Perpillanat accessben Runtime error 40063 as hibával leáll a makró ennél a sornál:
LineNum2 = .CreateEventProc("Change", "Worksheet")
Az excel fileban is elég érdekes az eredmény, a Code3 ként definiált kódot egyszerűen nem a Sub / End Sub közé szúrja be, hanem elé. Sorról sorra így néz ki az Excelben megjelenő kód:
Dim lngLastRow
lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row
Columns("X:X").Select
Selection.Insert Shift:=xlToRight
Range("X1").Select
ActiveCell.FormulaR1C1 = "common_id"
Range("X2").Select
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub -
Mutt
senior tag
válasz
kordasb #17738 üzenetére
Hello,
45k-nál a 10 575 USD a jó érték vagy nem?
A leírásod alapján annak kellene kijönnie, mivel 0-10k között kap 2000-et, 10-20k között 2250-et, majd 20-42k között 5500-at és a maradékra 825-öt. Ez összesen 10575.
A SUMPRODUCT-os képlet szépen és jól van megcsinálva szerintem.
A MIN/MAX rész is ugyanígy jónak tűnik.üdv.
-
kordasb
tag
Köszönöm, valoban igy mar müködik de nem szamol rendesen. pl 45000res szamlanal elvileg 27,5% ot kellene szamolnia kevesebb jön ki.
enné meg a fene, nem gondoltam volna hogy ezt ilyen furfangos lesz kiszamolni
A masodik függvennyel jatszottam egy darabig de az sem ad mindig jo eredmenyt egy mar szuroproba szerüen, ott szerintem valami keveredes van vesszökkel. -
kordasb
tag
azert irok erre valaszt mert taltan ez all legközelebb a kerdesemhez
Sales jutalekot szeretnek szamolni:If a Salesperson sells $0-$10,000 they are paid 20% commission on that
Between $10,001 - $20,000 they are paid 22.5% (just on everything over $10,000)
Between $20,001 - $42,000 they are paid 25% (just on everything over $20,000)
Anything over $42,000 they are paid 27.5%talaltam is megoldast 2 függvennyel de nem tudom müködesre birni
mar szetszedtük összeraktuk de csak nem akar jo lenni logiaki hiba miatt.=SUMPRODUCT((A1>{0,10000,20000,42000})+0,A1-{0,10000,20000,42000},{20,2.5,2.5,2.5}%)
=SUM(MAX(MIN(A1,10000),0)*20%,MAX(MIN(A1-10000,10000),0)*22.5%,
MAX(MIN(A1-20000,22000),0)*25%,MAX(A1-42000,0)*27.5%)Esetleg ha letezik eleganssabb megoldas szivesem fogadom nekem sajnos meghaladja a tudasomat.
Elöre is köszönöm.
(a kapcsoszarojelt nem tudom ertelmezni nem ertem miert van ott ahol van es mire szolgal.) -
alfa20
senior tag
Nagyon szépen köszönöm!
már nagyon fáradt voltam este
viszont lenne még valami nyűgöm "VAGY" függvénnyel:
Ha három cellába beírom, hogy "IGAZ" vagy "HAMIS" és erre hivatkozom pl:
=VAGY(A1;B1;C1)
Akkor szépen kiadja az eredményt, viszont, ha képletben adom meg, akkor nem végzi el pl:
A2 cella "=HA(1=1;"IGAZ";"HAMIS")" B2 és C2 cella: HAMIS
D2 cella =VAGY(A2;B2;C2) -
alfa20
senior tag
Ismét egy kis segítséget szeretnék kérni:
Azt szeretném ha "IGAZ/HAMIS" állítás lenne, de az alábbival most nem boldogulok:
=HA(VAGY(ÉS(U2="KPT";L2>0;E2>1);ÉS(U2<>"KPT";L2>0;E2>0))=1;"IGAZ";"HAMIS")
a teljes képlet:
=HA(U2="HRD";"HAMIS";HA(U2="BZI";"HAMIS";HA(VAGY(ÉS(U2="TKP";L2>0;E2>1);ÉS(U2<>"TKP";L2>0;E2>0))=1;"IGAZ";"HAMIS")))
-
Kobe
veterán
hello
van egy ilyen kodom, de sajnos az idezojelekkel gondba vagyok, a kod maga sztem jo csak az idezojelekkel csusztam el
Code2 = ""
Code2 = Code2 & " Dim lngLastRow" & vbNewLine
Code2 = Code2 & " lngLastRow = Cells(Rows.Count, ""A"").End(xlUp).Row" & vbNewLine
Code2 = Code2 & " Columns(""A:A"").Select" & vbNewLine
Code2 = Code2 & " Selection.Insert Shift:=xlToRight" & vbNewLine & vbNewLine
Code2 = Code2 & " Range(""A1"").Select" & vbNewLine
Code2 = Code2 & " ActiveCell.FormulaR1C1 = ""common_id""" & vbNewLine & vbNewLine
Code2 = Code2 & " Range(""A2"").Select" & vbNewLine
Code2 = Code2 & " ActiveCell.FormulaR1C1= ""=CONCATENATE(RC[2],""" - """,ROUND(RC[9],0))""" & vbNewLinea legutolso sornal elakad a makro, azert van igy Code2 valtozokent definialva mert a makrot access bol futtatom es onnan szurom be az excel fileba. A legutolso sorig rendbe lefut, letrehozza az uj oszlopot, elnevezi stb, viszont a concatenates fuggvenyt nem tudja kezelni, vmi gaz van az idezojelekkel.
valaki at tudna nezni ?
-
spammer
veterán
Excel 2013-ban szeretnék több kijelölt cellába azonos értéket (hivatkozást) írni. Ctrl -lal kijelölöm a cellákat, beírom, de csak az utolsó cellában jó, a többinél #REF! hibát kapok. Gugliztam, elvileg Ctrl+Enterrel működnie kellene, de cseszik működni.
Tipp valaki?
-
Mutt
senior tag
válasz
Delila_1 #17720 üzenetére
Hali,
Egy kicsivel rövidebb megoldás:
=HA(DARABTELI(A1;"*T*")>0;1;HA(DARABTELI(A1;"*A*")>0;2;HA(DARABTELI(A1;"*P*")>0;3;HA(DARABTELI(A1;"*M*")>0;4;HA(DARABTELI(A1;"*B*")>0;0;"")))))Ha a B-re nem 0-át, hanem mondjuk 5-öt kellene visszaadni és a szövegben mindig csak az egyik karakter van, akkor ez is működne:
=ELŐJEL(DARABTELI(A1;"*T*"))*1+ELŐJEL(DARABTELI(A1;"*A*"))*2+ELŐJEL(DARABTELI(A1;"*P*"))*3+ELŐJEL(DARABTELI(A1;"*M*"))*4+ELŐJEL(DARABTELI(A1;"*B*"))*5üdv.
-
Mutt
senior tag
Hello,
A ELTOLÁS($E3;0;0;1;JOBB($E3:$XFD3)) részben van 2 hiba.
1. A JOBB függvénynek az ELTOLÁS-sal kapott tartományt kellene megadnod (pl. E3:X3), és nem pedig az ELTOLÁS-nak a JOBB függvényt.
2. Mivel az utolsó 5 karakterben keresed az "/azon" értéket ezért kell a JOBB-nak a második paramétere is. Vagyis JOBB(E3:XFD3;5) kell.Ezek alapján ez fog működni:
{=SZUM(HA(JOBB(ELTOLÁS($E3;0;0;1;DARAB2($E3:$XFD3));5)="/azon";ELTOLÁS($F3;0;0;1;DARAB2($E3:$XFD3))))}Van egy másik, nem CSE változat is:
=HA(SZORZATÖSSZEG(--(JOBB(ELTOLÁS($E$3;0;0;1;DARAB2($E$3:$XFD$3));5)="/azon"))>0;SZUM(ELTOLÁS($F$3;0;0;1;DARAB2($E$3:$XFD$3))))üdv.
-
Kobe
veterán
válasz
Delila_1 #17718 üzenetére
ez egy rendesen kitöltött táblázat, mindig ugyanaz a fejléc van az első sorban benne, a makró célja pedig hogy egyik excel fileból (ami adatbázisból ered), a másikba másoljak egy egy sorhoz fűzött kommenteket, adatokat
A-AB oszlopokig vannak megcímezve a fejléc cellái, a file "eredeti" állapotban csak A-X oszlopokban tartalmazza az adatokat folyamatosan, plusz ugye X-AB ig ures cellákat, ezekbe kellene majd makróval hozzáilleszteni az adatokat VLOOKUPPAL
A-X oszlopokban minden folyamatosan van kitöltve, egyedül a sorok száma változik, de minden oszlop ki van töltve.
A makró úgy indul, hogy Y oszlop elé beszúr egy új oszlopot, és ott CONCATENATE tel létrehozza az azonosítót, ami alapján másik fileból behúzza az adatokat Z-AB oszlopokba.
az Y2 es cella tehát így nézne ki: =CONCATENATE(X2,"-",ROUND(W2,0)) de ezt csak azokra a cellákra kellene beillesztenie, ahol X2="Hazai"
Mint írtam az IF nem igazán jó megoldás itt, illetve dinamizálni kellene valahogy, hogy mindig X2-Xn számú sort nézzen át
-
Delila_1
veterán
válasz
alfa20 #17719 üzenetére
=HA(HIBÁS(SZÖVEG.TALÁL("T";G8));"HAMIS";"IGAZ")
Ennek alapján már össze tudod hozni a több karakterre történő keresést. Jó hosszú képlet lesz belőle.
=HA(NEM(HIBÁS(SZÖVEG.KERES("T";A1)));1;HA(NEM(HIBÁS(SZÖVEG.KERES("A";A1)));2;HA(NEM(HIBÁS(SZÖVEG.KERES("P";A1)));3;HA(NEM(HIBÁS(SZÖVEG.KERES("M";A1)));4;HA(NEM(HIBÁS(SZÖVEG.KERES("B";A1)));0;"")))))
-
alfa20
senior tag
abban tudna valaki segíteni, azt szeretném, ha az adott cella szövege (3-4 karakteres betűkódok) tartalmaz egy karaktert (jelen esetben a "T" betűt), akkor azt írja ki, hogy "IGAZ" ha nem tartalmazza, akkor meg a "HAMIS"-t írja ki, a lenti képlettel odáig jutottam, hogy az "IGAZ" meg van, de ha nem tartalmazza akkor "#ÉRTÉK!" jön ki,
=HA(SZÖVEG.KERES("T";G8)>0;"IGAZ";"HAMIS")próbáltam az "AZONOS" függvényt de az sem jó, mert tovább kell mennem a képlettel,
az lenne a végeredmény, valami ilyet tegyen:ha tartalmat "T" karaktert: 1
ha tartalmat "A" karaktert: 2
ha tartalmat "P" karaktert: 3
ha tartalmat "M" karaktert: 4
ha tartalmat "B" karaktert: 0és persze kis és nagybetűt ne különböztesse meg
-
Kobe
veterán
válasz
Delila_1 #17716 üzenetére
Koszi de nekem vba ban kellene es nem sima fuggvennyel megoldva, anyway az if csak 1 cellara vizsgalja a tartalmat, nekem megy valtozo sor szamu dinamikus listam van, mint irtam. Es az a baj, hogy nincs else statementem, mert nem kell, en azt szeretnem hogy a "kulfoldi" sorok cellait teljes mertekben hagyja beken, ne csinaljon vele semmit (azokat egy masik makro toltene fel)
a makronak automatikusan vegig kellene mennie az osszes soron es magatol beirni minden cellaba ahol hazai van
-
Kobe
veterán
Hali
Egy kis tanacs kellene, van egy tablazat, ahol az X oszlopban 2 fele ertek van megadva (hazai vagy kulfoldi)
az Y oszloban pedig egy fuggveny lenne , concatenattel irnek vissza egy erteketAzt szeretnem megoldani, hogy az Y oszlopban csak azokra a tetelekre szamitson concatenattel az excel barmit is, ahol X oszlopban "hazai" van. Erre tudna valaki egy VBA mintakodot mutatni ? Annyi csavar vaan benne hogy a sorok szama mindig valtozik a tablazatban tehat azt is bele kene kalkulalni hogy a hazai teteleket mindig A1-tol n ig keresse
-
Delila_1
veterán
Az a baj, hogy a tortadiagram csak 1 oszlop adatait tudja ábrázolni, ezért itt nem célszerű ez a forma.
Próbáld ki úgy, hogy kijelölöd mindkét oszlopot, beszúrod a tortát. Az adatokat módosítod az első oszlopban – ennek megfelelően változik a diagram. Módosítod a 2. oszlopot – a diagram marad az előző formában.
Ha mégis ragaszkodsz a tortához, 2 külön diagramot tegyél egymás fölé. A felsőnél a diagram terület legyen átlátszó, az egyes adatpontok pedig áttetszőek. Nem lesz jól követhető.
Szerintem jobb, ha az egyik oszlop adatait oszlopra-, a másikat vonalra formázod. -
Caipi
tag
-
Caipi
tag
Sziasztok,
CSE képletben kérnék egy kis segítséget:Van egy képletem:
+SZUM(HA(JOBB($E3:$XFD3;5)="/azon";$F3:$XFD3))Ezt szeretném ELTOLÁS() használatával megcsinálni, mivel változó tartományban kerestetek, de #ÉRTÉK! hibát kapok rá.
+SZUM(HA(ELTOLÁS($E3;0;0;1;JOBB($E3:$XFD3))="/azon";ELTOLÁS($F3;0;0;1;DARAB2($E3:$XFD3))))3 oszlopból álló blokkjaim vannak, onnan szeretném minden második oszlop értékét összeadatni soronként.
A tartomány vízszintesen növekszik folyamatosan.
Egy hasonló kérdésemre kaptam már segítséget, de nem sikerült az ottani fgv-t átalakítanom.Köszönöm :-)
-
nimmy001
csendes tag
válasz
nimmy001 #17676 üzenetére
Sziasztok,
Úgy tűnik, megint egy Windows frissítés okozta a hibát, 2007-es office exceleknél jelentkezett a gond. Rendszervisszaállítás megoldotta a problémát. Valahogy mostanában nem nyerők ezek a frissítések, de munkahelyi gépeknél mások döntenek erről, milyen frissítést engednek be és mit nem, ezek szerint a kevésbé jók is gyanútlanul átjöhetnek. 2010-es office is van, annál nem volt hiba.
------------
Más, tudja valaki, hogy tudnám excel makróban megmondani, hogy egy táblázatból generált diagram adott helyre kerüljön be? (mondjuk a bal felső sarka a pl. D8 cellánál legyen, vagy hasonló)
-
Mutt
senior tag
Hello,
Itt az én változatom (E2-be):
1. Ha az ID minden esetben szám és a BOM-ok között nincs ismétlődés:
=SZORZATÖSSZEG(--(BOM!A:A=A2);--(BOM!B:B=B2);--(BOM!C:C=C2);--(BOM!D:D=D2);BOM!E:E)2. Ha az ID alfanumerikus és a BOM-ok között nincs ismétlődés:
=INDEX(BOM!E:E;SZORZATÖSSZEG(--(BOM!A:A=A2);--(BOM!B:B=B2);--(BOM!C:C=C2);--(BOM!D:D=D2);SOR(E:E)))üdv.
-
ro_bert17
őstag
válasz
m.zmrzlina #17700 üzenetére
Nos! Tegnap én is erre gondoltam először a hsz-em előtt, eszembe juttatva a régi szép időket, a számszerű szövegekről. Viszont nem gondoltam, hogy ez dátumnál is müködik (pedig a jelenség hasonló). Úgy tűnik műkdik! Köszi az ötletet!
-
alfa20
senior tag
lehet van egyszerűbb megoldás is, de szerintem ha a "BOM" fülön beszúrsz egy oszlopot az "A" vagy "E" oszlop elé és készítesz egy egyedi azonosítót akkor egy sima FKERES függvénnyel megoldható.
pl:
1.) egyedi azonosító az "A" oszlopban:
"BOM" fülön A2 cella "=B2&C2&D2&E2"
"INPUT" fül E2 cella: "=FKERES(A2&B2&C2&D2;BOM!A:F;6;0)"2.) egyedi azonosító az "E" oszlopban:
"BOM" fülön E2 cella "=A2&B2&C2&D2"
"INPUT" fül E2 cella: "=FKERES(A2&B2&C2&D2;BOM!E:F;2;0)"Az egyedi azonosító oszlopot el is rejtheted ha zavar.
szert:
smile került a képlet be -
rtom
senior tag
Szevasztok,
van egy táblázatom, amiben 4 szám (alkatrész azonosító) bizonyos kombinációjához tartozik egy végtermék szám, ezek az adatok a táblázat egyik fülén rögzítettek.
A másik fülön azt szeretném, ha az egyes alkatrész számok kiválasztását követően a táblázat megadná az "adatbázis" alapján, hogy adott kombináció létezik-e, ekkor megadná a végtermék számot, ha nincs, akkor hibaüzenet. Egy mintatáblázatot lementettem ide: link.
Új hozzászólás Aktív témák
Hirdetés
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5800X 32/64GB RAM RX 7700 XT 12GB GAMER PC termékbeszámítással
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 256GB SSD I 12,5" HD I HDMI I CAM I W10 I Gari!
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W docking station (3TR87AA)
- HGST HUH721010AL5200 10TB 7.2k SAS HDD, DELL branded, nettó 38000Ft + ÁFA, 1 év garancia
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest