Hirdetés
-
GAMEPOD.hu
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
-
tzsolesz
nagyúr
Üdv srácok.
Lenne egy nagy problémám.
Van egy nagy kimutatásom, ahová a születési dátumokat kellett gyorsan egy állományról beírnom. De mivel gyorsan kellett, így csak elég kusza formában sikerült ezt megvalósítanom.
Nah már most szeretném ha ez a dátum a következő formában jelenne meg: 1900.01.01
Most így néz ki. [link]
Milyen képlettel lehetne rendbe tenni?
-
tzsolesz
nagyúr
Nos, végül is így humánusabban néz ki a dátum. Bár azt már sajnos nem tudom elérni, hogy 1900.01.01 formába álljon.
750 tételt pedig már nem javítok.[ Szerkesztve ]
-
bugizozi
őstag
válasz tzsolesz #13206 üzenetére
Egy segédoszlop segítségével megoldható
VCP7-DCV, CCNA ||| Ami működik, ahhoz nem szabad hozzányúlni!
-
-
Delila_1
veterán
válasz Solar_Wind #13211 üzenetére
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
kutga
nagyúr
Sziasztok!
Excel 2003-ban adott egy hosszú lista, cégnevekkel egy oszlopban egymás alatt, van amelyik többször is előfordul.
Szeretnék egy külön munkalapra egy olyan szűrést csinálni ami minden listában szereplő nevet csak egyszer tartalmaz, lehetőleg ABC sorrendben.
Mi lenne a legegyszerűbb módszer?
Let the Zone take me if I am.
-
Delila_1
veterán
Három lépésben tudod megcsinálni. Először irányított szűrővel az adott lapon egy új oszlopba kiszűröd az egyedi értékeket, ezt az oszlopot másolod a másik lapra, utána rendezed.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
plaschil
aktív tag
Hello!
Maximum-keresésre valaki írt már makrót? Valami olyasmire lenne szükségem, hogy mondjuk a top5-öt (5 legnagyobbat) szedje ki nekem.
pl van 2 oszlopom, egyikben stringek, másikban számok:
a 1
a 1
a 2
b 2
b 3
b 4És akkor az "a"-k közül a top5, "b"-k közül a top5 stb...
Creative G500 vezérlő panelt keresek// Hol vagy helyileg? - A kisszobába. // Szilvásbuktát, mert azt szeretem!
-
VásRló
tag
Egy gyors kérdésem van. Adott egy excel oszlop, benne dátumok, időpontok.
pl. 01.11.2011 08:17
és a 2. tag a hónap, tehát a 11.
Az első tag a nap.A kérdésem, hogy tudnám időrendi sorrendbe rendezni ezt? Mert az excel az elejével kezdi, azzal kezdi növekvő sorrendbe rakni.. de igazából a 2011-gyel kellene kezdeni, utána a középső résszel, utána a bal oldallal, és utána jöhetne az óra perc..
-
Delila_1
veterán
válasz plaschil #13220 üzenetére
A makró az N oszlopba kigyűjti az A oszlopban lévő szövegeket, és mindegyik mellé beírja csökkenő sorrendben a hozzá tartozó top5-öt az O:S oszlopba.
Ha 100-nál több féle adatod lehet az A oszlopban, a makróban jelzett sorban írhatod át.Sub Top5()
Dim sor As Long, sor1 As Long
Dim usor As Long, usor1, cim, ertek
Dim T(100, 5) '***** Itt írd át a 100-at *****
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
usor = ActiveSheet.UsedRange.Rows.Count
Columns("A:A").Select
Range("A1:A" & usor).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"N1"), Unique:=True
usor1 = Range("N1").End(xlDown).Row
For sor1 = 2 To usor1
cim = Cells(sor1, 14)
For sor = 2 To usor
ertek = Cells(sor, 2)
If Cells(sor, 1) = cim Then
If ertek > T(sor1 - 1, 1) Then
T(sor1 - 1, 5) = T(sor1 - 1, 4)
T(sor1 - 1, 4) = T(sor1 - 1, 3)
T(sor1 - 1, 3) = T(sor1 - 1, 2)
T(sor1 - 1, 2) = T(sor1 - 1, 1)
T(sor1 - 1, 1) = ertek
GoTo Köv
End If
If ertek > T(sor1 - 1, 2) Then
T(sor1 - 1, 5) = T(sor1 - 1, 4)
T(sor1 - 1, 4) = T(sor1 - 1, 3)
T(sor1 - 1, 3) = T(sor1 - 1, 2)
T(sor1 - 1, 2) = ertek
GoTo Köv
End If
If ertek > T(sor1 - 1, 3) Then
T(sor1 - 1, 5) = T(sor1 - 1, 4)
T(sor1 - 1, 4) = T(sor1 - 1, 3)
T(sor1 - 1, 3) = T(sor1 - 1, 2)
T(sor1 - 1, 3) = ertek
GoTo Köv
End If
If ertek > T(sor1 - 1, 4) Then
T(sor1 - 1, 5) = T(sor1 - 1, 4)
T(sor1 - 1, 4) = T(sor1 - 1, 3)
T(sor1 - 1, 4) = ertek
GoTo Köv
End If
If ertek > T(sor1 - 1, 5) Then T(sor1 - 1, 5) = ertek
End If
Köv:
Next
Range("O" & sor1) = T(sor1 - 1, 1)
Range("P" & sor1) = T(sor1 - 1, 2)
Range("Q" & sor1) = T(sor1 - 1, 3)
Range("R" & sor1) = T(sor1 - 1, 4)
Range("S" & sor1) = T(sor1 - 1, 5)
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
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.
-
aisten
csendes tag
Sziasztok!
Lehet alap kérdést teszek fel:
Egyik fül oszlopát szeretném átmásolni a másik fülbe, de sorba (irányított beillesztés, transzformáció, eddig megvan) de, az oszlopból csak minden 5. cella kellene, a többi el van rejtve, de másolásnál azokat is továbbviszi. Be lehet valahol állítani, hogy a elrejtet cellákat ne másolja?
köszi
-
aisten
csendes tag
és az még hozzá tartozik, hogy képletbe szeretném másolni a számokat.
-
#74459392
törölt tag
Sziasztok!
Van egy 4 tizedesjegyű számom és utána a cellaformátumnál beállítom 2 tizedesjegyre. Amikor ezzel a 2 tizedesjegyű számmal dolgozok tovább, a program ugyan csak 2 tizedesjegyet mutat, de az eredeti 4-el számol. Hogyan lehetne azt megoldani, hogy a 4 tizedesjegyű számot 2 tizedesre alakítsa és utána azzal is számoljon tovább?
-
Delila_1
veterán
válasz #74459392 #13229 üzenetére
Ha az A1 cellában van a 4 tizedesed, akkor egy üres oszlopba beírod a képletet. A képlet első paramétere a cellahivatkozás (A1 a példában), a második paraméter adja meg, hogy hány tizedesig akarod kerekíteni a számot.
Lemásolod a képletet, ameddig az adataid tartanak. Vagy az új oszlopot használod ezután, vagy kijelölöd, másolod (Ctrl+c), ráállsz az első 4 jegyű cellára, jobb klikk, Irányított beillesztés, Érték. Ezzel a művelettel az eredeti oszlopodat felülírod az új, 2 tizedest tartalmazó számokkal, a segédoszlopot törölheted.
Vigyázat! Ha az utóbbi módszert alkalmazod, és az eredeti oszlopban képletek voltak, a képletek helyére fix számok kerülnek.
Azt is megteheted, hogy ha képlet hozta létre a 4 tizedest, a teljes képletet kerekíted eleve.
=KEREKÍTÉS(képlet(...);2)Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
félisten
válasz aisten #13224 üzenetére
Nem tudom milyen verziót használsz ez most a 2010-esben így lehet
1. kijelölöd a másolandó tartományt (az egészet a rejtettekkel együtt)
2. kezdőlap fül/szerkesztés csoport/keresés és kijelölés lenyíló/ugrás
3. irányított gombon katt/csak a látható cellák kijelöl és ok
4. Másol/irányított beillszetés/Képlet bejelöl OK[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
cousin333
addikt
válasz VásRló #13221 üzenetére
Szerintem így direktbe sehogy. Én a következőt csinálnám:
- A DÁTUM és IDŐ, valamint a KÖZÉP függvények segítségével meghatároznám az időt emészthető formában. A képlet, feltéve, hogy a kérdéses dátumod az A1-es cellában van:
=DÁTUM(KÖZÉP(A1;7;4);KÖZÉP(A1;4;2);KÖZÉP(A1;1;2))+IDŐ(KÖZÉP(A1;12;2);KÖZÉP(A1;15;2);0)
- Ezt beírnám a mellette lévő oszlop minden sorába, ahol ilyen dátum szerepel
Ez így már sorbarendezhető. Ha mindenképpen az eredeti felállás kell, akkor:
- Fognám ezt az új oszlopot, és másolás, irányított beillesztéssel (csak az értéket) bemásolnám az eredeti dátumoszlopba.
- Majd kijelölve ezt a régi-új oszlopot, a cellaformázásnál egyéni formátumot adnék meg a következő formátumkóddal:
nn.hh.éééé óó:pp
Ekkor elvileg ugyanúgy fog kinézni az eredeti és az új oszlop, de már sorba is lehet rendezni. Tesztelve, nálam működött (Excel 2010).
[ Szerkesztve ]
"We spared no expense"
-
kokopeti
csendes tag
Sziasztok!
Megpróbálom érthetően elmagyarázni, hogy miben kérném a segítségeteket...(remélem sikerül :-P)
Szóval:
Excel 2003-ban űrlapo(ka)t hoztam létre párbeszédpanelen, mely egy nyilvántartó programhoz használnék. Van egy "Műszaki" elnevezésű panelem, amiben beviteli mezők vannak. (Név,Cím,Telefon...stb) Ezeket a beviteli mezőket a következőképpen neveztem el: (vevo_nev, vevo_cim, vevo_tel). Az űrlap kitöltése után a beviteli mezőkbe írt szöveget, értéket az "Adatok" nevű Munkalapra kellene átmásolni adott cellákba. Pl.: Név = A1 cella Cím=B1 cella Telefonszám=C1. Ha az adatokat átmásolta\helyezte, akkor törölje ki a kitöltött adatokat a beviteli mezőkből.Már a 4. napja szenvedek vele, de nem jövök rá a megoldásra.
Indulásnak itt a makró amit elkezdtem, de nem tudom megoldani a működését :SSub munkalap_Kattintáskor()
Sheets("Adatok").Select
Range("A1").Select
Selection.CurrentRegion.Select
sor = Selection.Rows.Count
hova = sor + 1
datum = DialogSheets("Műszaki").TextBoxes.datum_d.Text.Value
nev = Sheets("Műszaki").Cells(3, 2).Value
cim = Sheets("Műszaki").Cells(4, 2).Value
telefon = Sheets("Műszaki").Cells(5, 2).Value
rendszam = Sheets("Műszaki").Cells(8, 2).Value
muszaki = Sheets("Műszaki").Cells(16, 2).Value
munka = Sheets("Műszaki").Cells(19, 2).Value
megrendelo = Sheets("Műszaki").Cells(2, 3).Value
auto = Sheets("Műszaki").Cells(10, 3).Value
potdij = Sheets("Műszaki").Cells(17, 3).Value
kedvezmeny = Sheets("Műszaki").Cells(21, 3).Value
Sheets("Adatok").Cells(hova, 1) = datum
Sheets("Adatok").Cells(hova, 2) = nev
Sheets("Adatok").Cells(hova, 3) = cim
Sheets("Adatok").Cells(hova, 4) = telefon
Sheets("Adatok").Cells(hova, 5) = rendszam
Sheets("Adatok").Cells(hova, 6) = munka
Sheets("Adatok").Cells(hova, 7) = muszaki
Sheets("Adatok").Cells(hova, 8) = megrendelo
Sheets("Adatok").Cells(hova, 9) = auto
Sheets("Adatok").Cells(hova, 10) = potdij
Sheets("Adatok").Cells(hova, 11) = kedvezmeny
Sheets("Munkalap_m").Select
dlgAnswer = Application.Dialogs(xlDialogPrint).Show
Sheets("Műszaki").Select
Range("B2").Select
ActiveCell.FormulaR1C1 = ""
Range("B3").Select
ActiveCell.FormulaR1C1 = ""
Range("B4").Select
ActiveCell.FormulaR1C1 = ""
Range("B5").Select
ActiveCell.FormulaR1C1 = ""
Range("B6").Select
ActiveCell.FormulaR1C1 = ""
Range("B7").Select
ActiveCell.FormulaR1C1 = ""
Range("B8").Select
ActiveCell.FormulaR1C1 = ""
Range("B9").Select
ActiveCell.FormulaR1C1 = ""
Range("B10").Select
ActiveCell.FormulaR1C1 = ""
Range("B11").Select
ActiveCell.FormulaR1C1 = ""
Range("B12").Select
ActiveCell.FormulaR1C1 = ""
Range("B13").Select
ActiveCell.FormulaR1C1 = ""
Range("B14").Select
ActiveCell.FormulaR1C1 = ""
Range("B15").Select
ActiveCell.FormulaR1C1 = ""
Range("B16").Select
ActiveCell.FormulaR1C1 = ""
Range("B17").Select
ActiveCell.FormulaR1C1 = ""
Range("B18").Select
ActiveCell.FormulaR1C1 = ""
Range("B20").Select
ActiveCell.FormulaR1C1 = ""
Range("B21").Select
ActiveCell.FormulaR1C1 = ""
Sheets("Főoldal").Select
End Sub -
poffsoft
veterán
válasz kokopeti #13233 üzenetére
Mondjuk én nem értek hozzá.
De :
változókat nem szoktuk definiálni a sub elején?
továbbá szerintem adatum = DialogSheets("Műszaki").TextBoxes.datum_d.Text.Value
.
.
.
Sheets("Adatok").Cells(hova, 1) = datumhelyett a
Sheets("Adatok").Cells(hova, 1).Value = DialogSheets("Műszaki").TextBoxes.datum_d.Text.Value
is megfelelne...
ja, meg ha a mezőket már elnevezted, miért nem névvel hivatkozol rájuk?
Sheets("Adatok").Cells(hova, 2).Value = Range("vevo_nev").ValueTörléshez is elég lenne csak a range value paraméterébe ""-t írni:
Range("vevo_nev").Value =""Amúgy mi nem működik rajta? mi a hiba?
[ Szerkesztve ]
[ Szerkesztve ]
-
kokopeti
csendes tag
válasz poffsoft #13234 üzenetére
A bemásolt makró vége már működött korábban olyan formában, hogy cella adatainak értékét másoltam át másik munkalap adott cellájába, illetve a nyomtatás is indult megfelelően...
Most az nem működik, hogy a beviteli mezőkbe írt szövegemet nem másolja át sehova és\vagy a beviteli mező értékét üresnek veszi miközben van bele írva. A datum= soromig minden rendben van, de ebben a sorban már nagyon beteg valami Mindárt kipróbálom az általad írt sorral.
Az általad írt sem fut le :S, de az 100%-hogy az általam írt
datum = DialogSheets("Műszaki").TextBoxes.datum_d.Text.Value alapjaiban rossz szerintem.[ Szerkesztve ]
-
poffsoft
veterán
válasz kokopeti #13235 üzenetére
Az a textbox az tuti texbox, nem mondjuk editbox?
Sheets("Adatok").Cells(hova, 1).Value = DialogSheets("Műszaki").EditBoxes("datum_d").Text
vagy
Sheets("Adatok").Cells(hova, 1).Value = DialogSheets("Műszaki").TextBoxes("datum_d").Text
(#13236): az jó.
És melyik soron hasal el? (debug)
- amúgy, ha gyanús, hogy ez a rossz, debug idejére miért nem kommenteled ki?
ja, most nézem, nem range-t neveztél el, hanem objektet.
Akkor marad az előző verziók közül az egyik, és értelem szerint a datum_d helyére mehet a vevo_nev .... stb...Mondtam, sajna nem értek hozzá, de most rákerestem, editboxes lesz az
[ Szerkesztve ]
[ Szerkesztve ]
-
Delila_1
veterán
válasz kokopeti #13233 üzenetére
Hozz létre egy UserForm-ot, aminek a neve legyen pl. Bevitel. Tedd fel rá a beviteli mezőket, és a gombot, ami indítja az adatok tárolását.
A ThisWorkbook-hoz a
Private Sub Workbook_Open()
Sheets("Műszaki").Select
Bevitel.Show False
End Submakró kerüljön, ami a füzet behívásakor indítja a UserForm-ot.
A gombhoz ezt rendeld (gombon duplaklikk):
Private Sub CommandButton1_Click()
Dim WSA As Worksheet, hova As Long
Set WSA = Sheets("Adatok")
hova = WSA.Range("A65536").End(xlUp).Row + 1
WSA.Cells(hova, 1) = vevo_nev.Text
WSA.Cells(hova, 2) = vevo_cim.Text
WSA.Cells(hova, 3) = vevo_tel.Text
vevo_nev.Text = ""
vevo_cim.Text = ""
vevo_tel.Text = ""
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.
-
Delila_1
veterán
válasz kokopeti #13233 üzenetére
Tehetsz a Műszaki lapra egy gombot, ami indítja a UserFormot. A hozzá rendelt makró tartalmazza ugyanazt, amit a Workbook_Open. Ez arra jó, hogy ha bezártad a formot, a lapról is indíthatod.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
kokopeti
csendes tag
válasz Delila_1 #13243 üzenetére
Beviteli mezőm lesz majd több. Egy olyan űrlapot szeretnék csinálni, ami egy Autószerviz nyilvántartó programja lenne. Szóval tudnia kell a Műszakiztatás adatainak bevitelét, a Szervizelést, Alkatrész beszerzést/eladást, Egyéb költségek, kiadások, bevételek adatbevitelét, illetve ezek megjelenítését és adatbázisba mentését, illetve statisztika készítését. A legtöbb részt megcsinálni egyszerű még számomra is, de azért vannak benne buktatók a kevéske tudásom miatt.
Megpróbálom akkor a UserForm-ot is belefabrikálni, aztán jelentkezem újra. Köszönöm
-
kokopeti
csendes tag
válasz Delila_1 #13244 üzenetére
Lenne egy kérdésem. Ha létrehoztam egy többoldalas Userformot, aminek az első oldalát nevezzük egy "Főoldalnak". Ezen az oldallal kapcsolatos leírás található illetve pár gomb amik a userformon található másik fülekre hivatkoznak, illetve a munkafüzetben található egyéb munkalapra.
A kérdésem mindössze annyi lenne, hogy mondjuk a CommandButton1-el hogyan tudnék hivatkozni a Userformon található második fülemre, amit akkor nevezzünk "Bevitelnek"?!
Köszönöm a segítséget!
-
imitro
csendes tag
Tudnátok segíteni egy banálisnak látszó feladatban?
Hogy tudok egy elkészített diagram területére néhány megjegyzést elhelyezni? (Pl. "Itt keződik a töltés", st.)
Előre is köszi!
-
félisten
Új hozzászólás Aktív témák
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest