-
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
-
Hequila
őstag
Keresek egy képletet az alábbi problémára.
_|____A____|____B____|____C____|
1| 3242.........:..... 1....... :................
2| 2452.........:..... 2 .......:...............
3| 3452 ........:..... 1........:...............
4| 5345 ........:..... 2 .......:...............(nagy nehezen csak sikerült összehozni)
szóval olyan képletet szeretnék, ami a C1 mezőben összesíti azokat az A oszlop azon elemeit, ami mellett a B oszlopban 1-es szerepel. A C2 mezőben pedig összesíteni szeretném azokat az elemeket, amelyek az A oszlopban vannak, és a B oszlopban mellettük 2-es szerepel.
[ Szerkesztve ]
''Nem kell hajó, nem kell repülőgép, | Van mit ennem, van hol aludnom még!'' Tankcsapda
-
perfag
aktív tag
-
biker
nagyúr
válasz Delila_1 #8199 üzenetére
és nincs olyan vkeres függvény, ami balra is keres?
az a baj, össze kellene fésüljek több táblát, és az A oszlopot kellene visszaadni talált egyezés O oszlop esetén.
de a VLOOKUP az tudtommal jobbra keres n mezővelElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Delila_1
Topikgazda
Pl. a Hol.van és Indirekt függvényekkel lehet megoldani.
=INDIREKT("A"&HOL.VAN("keresett_szöveg";O:O;0))
A kérdésedből nem derült ki, milyen nyelvű Excelt használsz. Ímé angolul:
=INDIRECT("A"&MATCH("keresett_szöveg";O:O;0))Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
motinka
tag
sziasztok,
Ismét segítségre szorulok, mivel nem vagyok nagy excel-es, de dolgoznom néha kell benne
Szóval azt szeretném, ha egy képlet =HA(C1="SC";"SC";"-" ) nem a cellában, hanem VB-ben lenne benne az Y1 cellában, azaz lefelé húzva az összesben =HA(C2000="SC";"SC";"-") az Y2000-ben.
Azért kellene így, hogy ne lehessen a képletet semmi esetben sem kitörölni, de kézzel lehessen más értéket beírni, és amennyiben "törlik" a beírt értéket akkor a képlet működjön.
Hű de bonyolult vagyok, azért talán érthető.MoTiNka
-
Fboy
aktív tag
Sziasztok,
egy olyan feladatom lenne, hogy egy alaprajzon/térképen kellene elhelyeznem köröket, amik az épületek értékét szimbolizálják. Tehát a kör területe akkora legyen, mint az épület értéke.
Ezt megtudom oldani valahogy excelben, úgy hogy egy táblázatban leírom az épület nevét és a hozzátartozó értéket vagy egyéb módon? -
Delila_1
Topikgazda
Makróval megoldható.
Beszúrtam egy térképet, aminek az Excel automatikusan a Kép 1 nevet adta. Utána elhelyeztem a térképen 12 kört, amiknek a neve Ellipszis 2 -Ellipszis 13 lett. A makróban Oval 2 - Oval 13 néven kell rájuk hivatkozni.
Az első kör a piros, az óramutató járásával ellenkező irányban helyeztem el a többit.Makró:
Sub Nagysag()
Dim a As Integer
Dim nev As String
For a = 2 To 13
nev = "Oval " & a
ActiveSheet.Shapes(nev).Select
Selection.ShapeRange.Height = Cells(a, 2) / 80
Selection.ShapeRange.Width = Cells(a, 2) / 80
Next
End SubSzerk.: a Cells(a,2)/80 helyett olyan osztót adj, ami egy jó méretet ad az ábrán.
[ 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.
-
Delila_1
Topikgazda
Kicsit kibővítve az előző:
[M](C)Sub Nagysag()
Dim a As Integer
Dim nev As String
For a = 2 To 13
nev = "Oval " & a
ActiveSheet.Shapes(nev).Select
With Selection
.ShapeRange.Height = Cells(a, 2) / 50
.ShapeRange.Width = Cells(a, 2) / 50
.Characters.Text = Cells(a, 1) & Chr(10) & Cells(a, 2) & " MFt"
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.ReadingOrder = xlContext
.Orientation = xlHorizontal
.Characters.Font.Size = 6
End With
Next
End Sub(/C)[/M]Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fboy
aktív tag
válasz Delila_1 #8215 üzenetére
Rájöttem, hogy ez nekem nagyon bonyolult ez a makrózás
Helyette megoldottam diagrammal (tudom, favágó módszer), úgy hogy a diagramm hátterének a választott térképet raktam be, a diagramm elemek körök, a méretüket pedig egy táblázatból választom ki, a diagrammon pedig szabadon rakosgathatom.
Azért köszi a fáradozást. -
Delila_1
Topikgazda
Lehet, az zavart meg, hogy az előző válaszomnál nem figyeltem a megjelenést, és benne maradtak a formázásra vonatkozó, szögletes zárójelek között lévő M, és a zárójelben lévő C.
Azok elhagyásával működik a makró.
A diagram is jó megoldás.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
biker
nagyúr
válasz Delila_1 #8208 üzenetére
szia
ooo, tehát angol kellA lényeg, a termekek táblában az A oszlopban vannak az ID-k, az O-ban a cikkszámok
az sqlimport táblában az A1 mező kell legyen egyenlő azzal az ID-vel a termekek táblából, ahol az sqlimport O1 cellában lévő cikkszám egyenlő a termekek táblában valahol az O oszlopban lévő cikkszámmal.A gond az, hogy egy táblából elkészült az import az sql táblába, ez 1900 sor.
de ezeket nem sorban illesztette be az sql, így ha kiveszem a sorokat, amiknek már van ID-je (auto increment) akkor lesz két táblám, amiben azonos cikkszámok is megvannak, de nem sorban, és ehhez kell összepárosítsak egy 1200 képet tartalmazó táblát, amit a sor nemegyezés miatt nem sorrendezhetek szimplán.Remélem érthető volt
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
mr.nagy
tag
Sziasztok!
Még idáig ilyenre nem volt szükségem ezért ha a következő probléma megoldható keresnék hozzá valami leírást :
Excelben lehet e World-höz hasonló körlevél megoldást csinálni? Arra gondolok itt, hogy mondjuk az egyik fülön lenne egy adatbázis. A másik fülön pedig egy elkészített sablon, ami alapján egy gombnyomással kinyomtathatóak lennének az adatok a megadott sablon formátumban.
[ Szerkesztve ]
HMNote10Pro
-
Delila_1
Topikgazda
Úgy gondolom, hogy az sqlimport és a termekek nem tábla, hanem egy-egy lap. Ha így van, az sqlimport lap A1 cellájának a képlete:
=INDIRECT("termekek!A"&MATCH(O1;termekek!O:O;0))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
válasz mr.nagy #8219 üzenetére
Miért nem jó a körlevél? Ahhoz is tudsz Excel adatokat csatolni.
Az Excelben egyszerre csak 1 űrlapot tudsz kinyomtatni, azt, amelyiknek az adatai éppen szerepelnek az adatlapon.Az elkészített sablonba így tudod bekérni az adatokat (pl.):
=AdatokatTartalmazóLap!B5Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
mr.nagy
tag
válasz Delila_1 #8221 üzenetére
A World körlevél funkcióját szoktam is használni, de most kellene bele tenni egy olyan megoldást amire Worldben nem jöttem rá.
Valamikor régebben itt kaptam egy megoldást arra, hogy egy külső (internetes) linken található képet tegyen be az excel táblába. A linknek van egy fix része és van egy változó, ami szintén a táblában van. A kettőből generálódik az URL amit a makró betesz egy megadott helyre.
Na most is erre lenne szükségem csak a körlevélnél erre nem találtam megoldást, ezért kérdeztem, hogy excelben megoldható lenne-e?Huh, remélem érthető voltam! Ha nem bocsánat!
HMNote10Pro
-
motinka
tag
válasz Delila_1 #8210 üzenetére
Köszönöm, a gyors válaszodat, bemásoltam, sajnos nem működik.
feltettem ide: http://www.hunsurf.hu/1.xlsa lényeg az lenne, hogy amennyiben az A oszlopban SC kerül akkor azt írja be a C oszlopba,
de amennyiben a C oszlopban a lenyílóból választunk ki, akkor az kerüljön beírásra.Na a csavar most lenne, amennyiben a C oszlopból kitöröljük a beírást, akkor ismét az első feltétel működjön.
A gondom az hogy amennyiben a képletet a C oszlopba rakom, akkor ha beírás történik ide akkor természetesen a képlet törlődik, így ha újra üres lesz a mező a képlet nincs már ott.
Köszönöm hogy foglalkozol a problémával.
MoTiNka
-
biker
nagyúr
válasz Delila_1 #8220 üzenetére
igen, nem tábla, munkafüzet, csak adatbázis táblák exportja van benne
sajnos nem jó a képlet, még a szükséges mezőjavításokkal sem, lehet rosszul határoztam meg a kérést amellett, hogy a cellákat is félrenéztem
tehát: a kepek lap A1 cellájába szeretném megkeresni azt a számot az importsql lap A oszlopából, ahol az importsql J oszlopában lévő cikkszámok egyike egyezik a termekek lap A2 mezőjében lévő cikkszámmal.
(a sor eltéréstől függetlenül a termekek és kepek tábla sorrendje azonos, az importsql a kevert sorrendű tábla)Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Delila_1
Topikgazda
Itt már 3 lapon dolgozunk. Remélem, most már jól írtad le a feltételeket. A "kepek" lap A1 cellájának a képlete
=INDIRECT("importsql!A"&MATCH(termekek!A2;importsql!J:J;0))
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
perfag
aktív tag
válasz bnorci71 #8225 üzenetére
Ötlet: makró rögzítéssel felveszed a sorba rendezést, valami ilyesmit kapsz:
With ActiveWorkbook.Worksheets("Munka1").Sort
.SetRange Range("E3:E7")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Elvileg az Apply elvégzi a melót, ha nem, akkor tegyél alá egy .Calculate metódust. -
-
perfag
aktív tag
válasz motinka #8223 üzenetére
Érdekes a problémád, én is szívesen együtt gondolkodnék veletek, de nem teljesen értem a probléma leírást.
A és C oszlopokban adatérvényesítéssel van egy-egy listád, ok. Az adatbeírási sorrendet kellene jobban körülírni:
- hol kezded a beírást: előbb A-ba kerül adat, majd C-be?
- A oszlopba csak a listából kerülhet adat, vagy felülírható a lista?
- az A-ba beírttól függően a C változzon meg?
- C-ben miért és mikor törölsz? -
motinka
tag
szia, köszi hogy foglalkozol vele.
szóval:
- az A oszlopba egy lenyíló listából kerül be egy szöveg (2 betü)
- a C oszlopban egy függény van (alapból =HA(A2="SC";"SC";"-" )
tehát ha az A-ban a SC kerül kiválasztásra akkor a C is az lesz
na de:
- a C oszlopban is egy lenyíló lista van, amiből szintén ki lehet választani egy szöveget
- amennyiben ezt kell tenni, akkor a lenyílóból kiválasztva beíródik( felüllíródik a képlet)
ez sok esetben csak időleges adat, azaz ha ez az állapot megszűnik, akkor a listából
kiválasztott beírás töröljük ( de mivel már nincs ott a képlet üres lesz a cella),
akkor kellene hogy működjön a képlet és újra beírja az A oszlopban látható SC- ha az
SC, ha nem akkor - jelet.A kis táblázat fent van a http://www.hunsurf.hu/1.xlsoldalon, letölthető, a képlet nincs benne, azt betettem VB -be, ahogy Delila tanácsolta, de nem működik, minta nem aktiválná semi a futását, de én ehhez már nem értek
köszi előre is a segítségedet!
MoTiNka
-
ro_bert17
őstag
Sziasztok!
Tudja valaki, hogy a 2003-ban egy fájlba összesen hány darab munkalapot lehet létrehozni? -
Delila_1
Topikgazda
válasz motinka #8231 üzenetére
Szia, megjöttem.
Azért nem működött a makró, mert nem jó helyre tetted. Az adat laphoz rendelted, pedig ezt egy új modulba kellett volna.
A füzetben Eszközök/Makró/Visual Basic Editor (vagy ezek helyett Alt+F11). Bejön a VBE. Bal oldalon kiválasztod a füzetedet, Insert menü, Module. A jobb oldalon kapott üres lapra kellett volna bemásolni.
Közben az is kiderült a füzetedből, hogy a C oszlopot szövegként formáztad az általános formátum helyett. A makró első sora ezértColumns("C:C").NumberFormat = "General"
kell legyen, mert az előállított függvény sem működne szövegként. Elküldöm a címedre a módosított fájlt.
Delila
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
biker
nagyúr
válasz Delila_1 #8226 üzenetére
ooo-ban nem ! kell, hanem . így ezeket átarva, és a J:J-t sem fogadja el, ezt átírva így most a #hiányzik eredményt kapom
=INDIRECT("importsql.A"&MATCH(termekkek.A2;importsql.J1:J50000;0))(ja, a lap neve termekkek, nem termekek, de ez nem gond, erre figyelek én...
elírtam az elejénElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Delila_1
Topikgazda
Mindig új dolgot kérsz! Először két lap volt (az is űrlap), majd 3, más nevekkel, és más oszlopokból akartad kinyerni az adatokat, most a lapnév nem stimmel.
Amit ooo-nak nézel, az O betű, kettőspont, újabb O betű, a pontosvessző után pedig nulla.
Próbáld meg eszerint. Ha nem jön össze, küldd el a füzetet. Ígérem, hogy ma bele sem nézek, legfeljebb holnap.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
biker
nagyúr
bocsi a csetelésért, de...
szóval gondoltam, miért csak a tesztsoron nézzem meg, bemásoltam mind a 2000 sorra. és kb 1/3-án van valós találat, a maradéknál #hiányzik jön ki.
na ez hogy lehet?random találatok, nem sorban
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
biker
nagyúr
válasz Delila_1 #8239 üzenetére
nem, nem, drága, az ooo=openoffice.org
a termekkek elírás az elejétől benne volt, de ezt én javítottam minden verziónál
feltöltöm majd valahova, mert így 13mb most a file. és ráér, amikor van idődElektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
motinka
tag
válasz Delila_1 #8235 üzenetére
Igazán az lenne a megoldás, ha a C oszlopban a lenyílóban egy karakter (pl:+ jel)bevitele váltaná ki az eredeti állapot visszaállítását (képlet szerinti cella)
A lényeg hogy a visszaállítás mindig csak az adott cellára legyen érvényes, és nem az összesre.Most hogy így is átgondolom, a C cellába alapban benne van a képlet. Ez ugye egy mozdulattal átírható, azaz képlet eltünt.
És most: ha egy + jelet írunk a cellába akkor a képlet újra beírodik.
Na talán most érthetőbb voltam, bár nem vagyok sem ebben biztos, sem abban hogy van megoldás erreMoTiNka
-
Delila_1
Topikgazda
válasz motinka #8244 üzenetére
Akkor mégis a laphoz kell rendelni a makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = "" Then Exit Sub
If Target.Column = 3 And Target.Value = "W" Then
Range(Target.Address).Formula = "=IF(A" & Target.Row & "=""SC"",""SC"",""-"")"
End If
End SubA "TECHN" és "tipus" névadásokat egy OFSZET függvénnyel átírtam úgy, hogy az érvényesítések legördülőjében mindig annyi adat jelenjen meg, ahány éppen van a két listában - bővítés vagy szűkítés esetén az aktuális adatmennyiséghez igazodnak (Beszúrás/Név/Név megadása).
A + jel nem jó, mert azt az Excel egy képlet kezdetének érzékeli, helyette W-t tettem, és beírtam a TECHN lista első tagjának, vagyis azt is a legördülőből lehet kiválasztani. Ezt választva a C oszlopba beíródik a képlet, csak az aktuális sorba.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
perfag
aktív tag
válasz motinka #8244 üzenetére
A + jelnem jó. A cellatartalmat Delete-tel törlöd és üres lesz, ennyi elég.
Tegnap volt a hosszú napom, ma reggelről egy megoldás:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Not Application.Intersect(Target, Range("C2:C20")) Is Nothing Then
If ActiveCell.Value = Empty Then ActiveCell.FormulaR1C1 = "=IF(OFFSET(RC,0,-2)=""SC"",""SC"",""-"")"
End If
Application.EnableEvents = True
End Sub
A VBA "adat" lapjára kell tenned.Műxik, egy apró szépséghibával: Delete, Enter ezzel kitörlöd a cellát, pontosabban üres lesz, majd vissza kell rá kattintani, akkor beírja a képletet. Most mennem kell dolgozni, de du. megnézem mi a francért nem csinálja ezt meg elsőre, a Delete, Enter-re.
Már 2-3 éve nem programozok, berozsdáltam.