-
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
-
cousin333
addikt
Mindenképpen makróban kellene, vagy jó lesz függvénnyel is? Utóbbi esetben jelölj ki 6 egymás melletti cellát (ahova az értékeket akarod), majd írd be ezt a függvényt:
=LIN.ILL(Y;X^{1\2\3\4\5})
ahol X és Y értelemszerűen a függvény X és Y adatai, mindkettő függőlegesen, oszlopba rendezve. Ha beírtad, akkor Ctrl+Shift+Enter (tömbképletet hoz létre), és egymás mellett láthatod az ötödik, negyedik... nulladik hatvány együtthatóját.
"We spared no expense"
-
cousin333
addikt
válasz Gabriel_86 #12934 üzenetére
Üdv!
Neked is mondanám, hogy szerintem rosszul közelíted meg a kérdést. Nem a grafikonból kellene kibogarászni a függvényt, hanem az eredeti adatokból, amin a grafikon is alapszik.
Ennek megfelelően az alábbi képletet kell egymás melletti 3 cellába, egyszerre(!) beírni, majd Ctrl + Shift + Enter:
=LIN.ILL(Y; X^{1\2})
ahol X és Y az értékpárok megfelelő (és egyenlő elemszámú) függőleges tömbjei.
Ha csak az egyik együttható kell, akkor az mehet így is egy tetszőleges cellába, sima Enterrel nyugtázva. (ez a négyzetes tagé):
=INDEX(LIN.ILL(Y; X^{1\2});1)
Ez meg a sima, első hatványhoz tartozó:
=INDEX(LIN.ILL(Y; X^{1\2});2)
"We spared no expense"
-
VGYke
addikt
Sziasztok! Írtam egy rövid makrót. A lényege, a G oszlop celláiban "balba szöveg, számok, blabla szöveg" van és ennek minden variációja és ebből kell kibányászni csak a számokat, átalakítva bizonyos formátumra, majd beírni H oszlop adott sorába.
Kb. így néz ki a magró (rendesen végzi a dolgát):
Do
C = ""
Szam = ""
I = I + 1
C = Cells(I, 7)
For J = 1 To 60
Nev = Mid(C, J, 1)
If Not IsNumeric(Nev) Then
Nev = ""
End If
Szam = Szam + Nev
Nev = ""
Next J
Aszam = Left(Szam, 8) + "-" + Mid(Szam, 9, 1) + "-" + Mid(Szam, 10, 2)
Cells(I, 8) = Aszam
Loop Until Cells(I + 1, 7) = Empty
Viszont ez a makró, csak G-ből olvas (Cells(...,7)) és H-ba ír (Cells(...8).
Na de ha az eredeti táblából valaki kitöröl, vagy hozzáad egy oszlopot, rossz helyről fog olvasni és írni.
Van erre valami megoldás? Tehát 7 és 8 oszlop érték egy változó legyen, és ha törölnek egy oszlopot, ez az érték 6,7, stb.kutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
VGYke
addikt
Lejárt az időm, bocs... a fentiekhez annyit, hogy egy megoldást tudok:
Do - Loop feltételes ciklussal megkeresem mi van a "H1"-be mint oszlop elnevezésbe írva és ha az ami, oda kell beírni az adatokat (példámban ahol vége a ciklusnak, 8, ha törlünk, hozzáadunk oszlopokat, akkor más).
De nincs erre valami elegánsabb, rövidebb megoldás?[ Szerkesztve ]
kutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
poffsoft
addikt
nem lehetne elnevezned a tartományokat mondjuk H : H ="forrás" és G : G ="cél"?
és cells helyett a range("forrás").range("A" & I) -vel hivatkozni a cellákra?Vagy másik megoldás a lapodhoz rendelni egy subot, ami minden változáskor megkeresi, hogy hová került a H oszlop fejléce. De ezt nem mondanám elegánsnak...
[ Szerkesztve ]
[ Szerkesztve ]
-
aisten
csendes tag
Újabb probléma adódott, addig működött a rendszerbeállítás szerinti , és . amíg csak 1 frissülő adatbázis volt.
Viszont két helyről is importálja az adatokat, az egyiknél . a másiknál , használnak, így minden frissítés után az egyik adat nem értelmezhető. És át kell állítgatni hogy újra jó legyen.
Valami megoldás esetleg? -
VGYke
addikt
válasz poffsoft #12959 üzenetére
Köszönöm válaszod!
Most, újabb problémám adódott, amit pár (szor 2-3) baráti sör után hazaérve, nem tudok megoldani makróval, (konkrétan Do-Lop feltételes ciklussal) egy feladatot és nagyon idegesít!
Keresek az egész munkalaopon egy adott szöveget, legyen az "Blabla". Ahol megtalálja, annak az oszlop, sor számára vagyok kíváncsi.
Sikerült olyan ciklust írnom, hogy csak a CTR-alt-del segítettkutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
Delila_1
Topikgazda
A makró kiírja a Blabla szöveget tartalmazó cella címét, és beteszi a sor és az oszlop változókba a címnek ezt a két adatát, további felhasználás céljára.
Sub keres()
Dim ter As Range, CV As Variant, sor As Long, oszlop As Long
Set ter = Range(Cells(1, 1), Cells(ActiveSheet.UsedRange.Rows.Count, _
ActiveSheet.UsedRange.Columns.Count))
For Each CV In ter
If CV = "Blabla" Then
sor = CV.Row: oszlop = CV.Column
MsgBox CV.Address
Exit For
End If
Next
'A sor és oszlop változó további felhasználása
'...
'...
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.
-
WGW
csendes tag
válasz cousin333 #12955 üzenetére
Nagyon köszönöm, fellelkesített a lehetőség. De valahogy nem működik.
Nos az egyik oszlopban dátumok vannak, a másikban pedig az ehhez tartozó értékek. Ha ebből pontgrafikont készítek, akkor ráhúzhatom a polinom trendvonalat, amire szükségem van a későbbiekben.
Megcsináltam, amit írtál, de azt írja, h. a beírt képlet hibás. -
bazsi83vp
senior tag
Az lenne a kérdés:
kell csinálnom x cellából álló tömböt 0-40 közti véletlen számokkal ez ugye a =VÉL()*40 képlet, na ezt lehúzom mondjuk 10 sorra, kész is az adatoszlopom... De ezeket hogyan tudom növekvő sorrendbe tenni? Mert ha hozzányúlok újragenerálja és megint összevissza lesz mind. ( $ nem segített) -
bazsi83vp
senior tag
válasz Delila_1 #12967 üzenetére
max kapok rá egy egyest - remélem a tanár nem lesz ilyen.... köszi
és azt nem lehet, hogy rögzítem a generált értékeket (képlettel) valahogy és mellé rendezem a számokat? Mert oké, mellé beillesztem - csak a rögzítés lehet-e? Bár ezek szerint nem igazán.
[ Szerkesztve ]
-
VGYke
addikt
válasz Delila_1 #12962 üzenetére
Nagyon köszönöm! Bár, azon túl hogy beállítjuk a területet, fogalmam sincs mit csinál ez: Cells(ActiveSheet.UsedRange.Rows.Count, _ ActiveSheet.UsedRange.Columns.Count), kérlek szépen írd le nekem, sajnos ismereteimet autodidakta módon szerzem be.
kutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
Delila_1
Topikgazda
Az ActiveSheet.UsedRange.Rows.Count az aktív lap utolsó kitöltött sorának a számát adja, az ActiveSheet.UsedRange.Columns.Count pedig az oszlopét.
Ebből következik, hogy a ter nevű változónak az A1 cellától az utolsó használatban lévő oszlopig és sorig tartó területet adjuk meg. Ebben a tartományban keressük a meghatározott szöveget.
Én is autodidakta módon tanulok.
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
Az ActiveSheet.UsedRange.Rows.Count az aktív lap utolsó kitöltött sorának a számát adja, az ActiveSheet.UsedRange.Columns.Count pedig az oszlopét.
Ebből következik, hogy a ter nevű változónak az A1 cellától az utolsó használatban lévő oszlopig és sorig tartó területet adjuk meg. Ebben a tartományban keressük a meghatározott szöveget.
Én is autodidakta módon tanulok.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
WGW
csendes tag
-
WGW
csendes tag
Most egy (számomra) komplex makró-megoldáshoz szeretném a segítségeteket (egész délután bújtam a fórumot és egyéb oldalakat, bocsánat, ha elkerülte a figyelmemet).
Egy 12xtöbb10ezres adathalmazom van, amit mindig más szempont alapján szeretnék leválogattatni adott munkalapra egy makróval. A szempontokat beviteli listákon lehetne kiválasztani, amelyeknek az elemei adott oszlopok elemeivel megegyeznek.
Pl: A-oszlopban dátumok, B-gyümölcsnevek, C-származási ország, D-minőség, E-ár stb.
A beviteli listán pl. szeretném kiválasztani a kiváló minőségű Urdu dinnyéket (tehát 3 külön lista). A lefuttatás után az adott munkalapon jelenjen meg ezután hogy mikor és mennyiért érkezett az árú.Extraszuperbónusz volna, ha pl. havi átlagárban mutatná.
Előre is köszönöm a segítséget! -
Apollo17hu
őstag
Szia!
Amit te szeretnél, az szerintem már adatbáziskezelés témakör. Sokkal gyorsabban és egyszerűbben megoldható lenne a problémád, ha az adataidat nem Excel-ben, hanem egy adattáblában tárolnád, amit egy adatbáziskezelővel (akár MS Access) vizsgálnál. A többtízsoros makró helyett néhány soros SQL-lekérdezéseket lehetne írni a problémádra, a listázott eredményt pedig akár exportálhatnád is Excelbe.
-
WGW
csendes tag
válasz Apollo17hu #12978 üzenetére
Nagyon féltem ettől a választól.
Excelben elboldogulok egy darabig, de az Access már kínai. De lehet, hogy ezek szerint nem fogom megúszni, hogy beletanuljak.
Azért köszi! -
Delila_1
Topikgazda
Lehet, hogy félreértem, mert túl egyszerűnek tűnik a feladat.
Tehát a Munka1 lapodon vannak az adataid 12 oszlopban (A:L).
Ezeket szűrd kedved szerint, majd indítsd aSub másol()
Sheets("Munka2").Columns("A:L").Delete
Sheets("Munka1").Select
Dim ter As Range
Set ter = Range(Range("A1"), Range("L" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible)
ter.Copy Sheets("Munka2").Cells(1, 1)
End Submakrót. Ez a Munka2 lapra másolja az aktuális szűrésnek megfelelő adatokat, amiket már rendezhetsz pl. a dátumok szerint.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
WGW
csendes tag
válasz Delila_1 #12980 üzenetére
Sajnos bonyolultabb...
Mindig más és más szűrési feladatot kell elvégezni. Az egyik munkalapon kellene pl. legördülő választéklistákból beállítani a szempontokat és majd eszerint kellene, hogy önállóan létrehozza az adott munkalapon a szűrést.
(Plusz ugye új beállításoknál felül kell írnia az előző szűrést is maradéktalanul.) -
ro_bert17
őstag
Sziasztok!
Lehet oltári butaságot fogok kérdezni, szóval előre is bocsi ha így van.
Excel 2003 esetében be lehet azt állítani, hogy alapértelmezésében a cellaformázás szám értéke ne 2 tizedesjeggyel szerpeljen (konkrátan ne legyen tizedesjegy), és egyből ezres csoportra formázza a számokat?
Olyanra gondolok, mintha pl. a normal.dot word sablont személyesebbre szabod. -
Delila_1
Topikgazda
válasz ro_bert17 #12982 üzenetére
Igen.
Egy füzet minden lapján add meg ezt a formátumot. Azt is beállíthatod, hogy a cellák függőleges igazítása középen legyen, meg minden mást, amit még szeretnél.
A mentés másként menüpontban Munkafüzet.xlt (sablon) nevet adj neki.
Ekkor a
C:\Documents and Settings\Felhasználó\Application Data\Microsoft\Excel\XLSTART
könyvtárba menti el, és minden újonnan megnyitott füzetednek ez lesz a formátuma.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
yoogie
aktív tag
Sziasztok!
Adott egy excel táblázat amiben grafikonok amelyek egy adatbázisból veszik az adatokat és frissül magától. Lehet olyat, hogy ez az excel tábla újrainduljon napi szinten többször?
-
VGYke
addikt
válasz Delila_1 #12973 üzenetére
Ismét köszönöm!
Most olyan "problémába" ütköztem, hogy írtam egy primitív makrót, ami nem csinál mást, mint a Lap nevű munkalapról, a makró indításának helyén lévő munkalapra másol adatokat. Na jó, van benne minimális képletezés is, itt, ott.
Sub Kitolt()
Lap = "Lekérdezés"
smax = Sheets(Lap).UsedRange.Rows.Count
For L = 1 To smax - 1
Cells(L + 1, 1) = Sheets(Lap).Cells(L, 1)
szla = Sheets(Lap).Cells(L, 2)
b = Left(szla, 8) + "-" + Mid(szla, 9, 8) + "-" + Mid(szla, 17, 8)
Cells(L + 1, 2) = b
'......hasonló 8. oszlopig
Next L
End Sub
Van 8 kitöltendő oszlop és jelenleg 850 sor. A makró kb. 4-5 perc alatt fut le, 50% proci terhelés mellett, pedig nem annyira gagyi a gép. Ez így normális és ilyen feladatot ne makróval, hanem excel képletekkel oldjak meg?kutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
Delila_1
Topikgazda
Egy kicsit egyszerűsítettem a 2. adatnál. Kevesebb változó, kevesebb számolás.
El tudod küldeni? Megnézném, mi lassítja.
A változók nevét érdemes úgy meghatározni, hogy utaljanak a tartalmukra.Sub Kitolt_1()
Dim WS As Worksheet
Dim sor%, usor%
Set WS = Sheets("Lekérdezés")
usor% = WS.UsedRange.Rows.Count
For sor% = 1 To usor% - 1
Cells(sor% + 1, 1) = WS.Cells(sor%, 1)
szla = WS.Cells(sor%, 2)
Cells(sor% + 1, 2) = Left(szla, 8) + "-" + Mid(szla, 9, 8) + "-" + Mid(szla, 17, 8)
'......hasonló 8. oszlopig
Next sor%
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.
-
VGYke
addikt
Ez nagyszerű fórum! Sok helyen vagyok jelen, de ez lett a kedvencem! Itt nincs cseszegetés: "hülye vagy, tudni kellene, olvass vissza, ..." Itt igazi segítség van
Aki autodidakta módon mint én, kb. hobbiból excel makrókkal kisérletezik, ez után a fórum után másodiknak ajánlom ezt az oldalt. Igaz a linkben már egy konkrét kulcsszóra történő keresés szerepel, de így jobb a példa. Bocs az offért.[ Szerkesztve ]
kutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
korcsi
veterán
Sziasztok!
Egy táblázat egy oszlopában szereplő adatokból kellene kigyűjtenem a különbözöeket, tehát van 60000 sor aminek az egyik oszlopában van mondjuk 50 féle adat és nekem ez az 50 adat kellene felsorolásszerűen. Megoldható ez?
Köszönöm a segítséget előre is.
referencia 5700(XT) plexi ARGB-s blokk eladó!
Új hozzászólás Aktív témák
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- Vírusirtó, Antivirus VPN kulcsok
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )