- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Apple iPhone 16 Pro - rutinvizsga
- Yettel topik
- Samsung Galaxy A55 - új év, régi stratégia
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Samsung Galaxy A56 - megbízható középszerűség
- A lapkakészlet és az akku különbözteti meg a Motorola Edge 60 és Edge 60 Pro-t
- Google Pixel topik
-
Mobilarena
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
-
Attas
aktív tag
válasz
Delila_1 #20187 üzenetére
Szia Delila!
Mint már oly sokszor, most is köszönöm a segítséged! Valamiért nem működik. Kicsit átalakítottam, mert azt szeretném, ha a makró tartalmazná a keresési feltételeket. Vagy esetleg a Munk4 A1 és B1 cellája. A makró lefut de nem visz át időadatot.Sub Atmasol()
Dim WS As Worksheet, sor As Long, usor As Long, v$, WF As WorksheetFunction
Dim oszlop As Integer, sor1 As Long, f As Boolean
Application.ScreenUpdating = False
Set WF = Application.WorksheetFunction
Sheets("Adatok").Activate
v$ = "C"
If v$ = "B" Or v$ = "b" Then
Set WS = Sheets("Munka2")
oszlop = 2
v$ = "AF230"
GoTo Keres
End If
If v$ = "C" Or v$ = "c" Then
Set WS = Sheets("Munka1")
oszlop = 3
v$ = "AF0230M01SP1-Station2"
GoTo Keres
End If
Exit Sub
Keres:
usor = WF.CountA(Columns(oszlop))
f = False
For sor = 1 To usor
If Cells(sor, oszlop) = v$ Then
If WS.Range("C6") = "" Then sor1 = 6 Else sor1 = WS.Range("C" & Rows.Count).End(xlUp).Row + 1
Cells(sor, "D").Copy WS.Cells(sor1, "C")
f = True
End If
Next
'Rendezés
WS.Activate
Range("C6").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("C6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Sheets("Adatok").Activate
Application.ScreenUpdating = True
End Sub -
Törpella
csendes tag
válasz
Delila_1 #20162 üzenetére
Köszönöm a segítséged :-)
Sajnos valamit nem csinálok megfelelően, mert
ezt az üzit kapom:Run-time error '13':
Type mismatchDebug után ezt emeli ki:
If WF.CountA(Range("F" & sor & ":H" & sor)) = 3 And Range("K" & sor) <> "" And _
WF.CountA(Range("P" & sor & ":Q" & sor)) = 2 ThenValamit elrontottam?
Egy "Save" gombhoz akartam hozzárendelni a megírt makrót, de nem sikerül... :-(
Esetleg még egy kis segítség, tanács...?
Az, hogy tanuljam meg, ezek után az elsők között van a listán... -
the radish
senior tag
válasz
Delila_1 #20164 üzenetére
Sajnos elakadtam és ez megint annak köszönhető, hogy először nem fogalmaztam elég pontosan.
Szóval két dolog lenne:Cells(sor, "B").Copy Sheets("MásikLap").Range("A1")
A C oszlop tartalma is kéne (B
), azt hogy tudom meghatározni? (Próbáltam a "B"&"C" formátumot, de csak tipp volt és természetesen nem jó.
+1 Csak értéket szeretnék átmásolni. (Irányított beillesztés / érték.)
-
the radish
senior tag
válasz
Delila_1 #20136 üzenetére
Sub Feltetel()
Dim sor As Long
For sor = 1 To 18
If Cells(sor, "A") = 1 Then Cells(sor, "B").Copy Sheets("MásikLap").Cells(sor, "I")
Next
End SubEzen kéne úgy módosítani, hogy a "MásikLap" A1 cellájába másolódjon minden, nyomtatás és jöhet a következő másolás.
Megoldható ?
Előre is köszi. -
the radish
senior tag
válasz
Delila_1 #20129 üzenetére
Hopsz, tényleg egy kicsit pontatlanul fogalmaztam, ráadásul egy konkrét makrót másoltam be, ami nem ide kell, az csak példa.
Tegyük fel:
Ha A1 = 1, akkor a makró a B1 cella tartalmát átmásolja valahova.
Ha A1 = 0, akkor a makró a B1 cella tartalmát nem másolja sehova, hanem
végrehajtódik a következő utasítás, mely:Ha A2 = 1, akkor a makró a B2 cella tartalmát átmásolja valahova (2).
Ha A2 = 0, akkor a makró a B2 cella tartalmát nem másolja sehova, hanem
végrehajtódik a következő utasítás, mely:Ha A3 = 1, akkor a makró a B3 cella tartalmát átmásolja valahova (3).
Ha A3 = 0, akkor a makró a B3 cella tartalmát nem másolja sehova, hanem
végrehajtódik a következő utasítás, mely:ez kb. 18x majd vége.
Még egyszer bocs a pontatlanságért.
-
wrox
őstag
válasz
Delila_1 #20042 üzenetére
De melyik tartományt jelöljem ki?
Meg akármelyik cella vagy cellák kijelölésénél beírom a képletet, nem marad meg, nem történik semmi.A számaim a C5:I30 tartományban vannak, az 5 szám pedig az O7: O11-ben.
Melyik számtartományokat jelöljem ki? Vagy mindegyik cellára külön külön kell beírni? -
wrox
őstag
válasz
Delila_1 #20040 üzenetére
Köszi, de nem igazán értem.
Azt szeretném, hogy az A1:e21 tartományban szineződjenek a cellák, ha az 5 szám közül valamelyik jelen van.
Egyébként hova kell ezt beírni, amit megadtál? Mert a feltételes formázásnál nem találom, illetve találtam olyat, hogy feltételes formázás>új szabály>formázandó cellák kijelölése képlettel De ha ide beírom, amit adtál, nem történik semmi, meg se marad,ha megnézem újra. Tényleg hülye vagyok hozzá.
-
the radish
senior tag
válasz
Delila_1 #20019 üzenetére
Szóval ugye az lenne a kézenfekvő, hogy HA a cellában szerepel a Horváth, akkor legyen pl. 1, ha nem szerepel legyen 0.
Ugye ez működik teljes cellaegyezésnél, de az adott cellában a "Horváth" után még más is szerepel, ami más és más.
A szövegegyezőséget így értettem.
A képlet valamiért nem működik. Megnéznéd?
Köszönöm. -
Mittu88
senior tag
válasz
Delila_1 #19990 üzenetére
Fúúú köszi, végül a BeforeSave-re esett a választásom, jobb lenne, ha még mentés előtt lefutna a dolog.
Még egy olyan kérdésem lenne (bocsánat a mohóságomért), hogy ha van egy vizsgálatom (pl. egyik cella üres-e) és If függvénnyel vizsgálom makróban, akkor csak akkor hajtsa végre a mentést, ha igaz az eredménye (különben ne mentsen).
Eddig így néz ki a dolog:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Worksheets("Igénylő").Range("C8").Value = 0 Then
Worksheets("Igénylő").Range("C8").Activate
MsgBox ("Először add meg a kitöltő nevét!")
End IfEnd Sub
Szerk.: Azt hiszem sikerült. a Cancel-nek kellett True értéket adni, ugye?
-
WildBoarTeam
senior tag
válasz
Delila_1 #19982 üzenetére
Sajnos ez így nem veszi figyelmebe a típust, ami alapján lenne az összegzés.
A baj ott kezdődik, hogy kaptam a táblát és totál felesleges sorok vannak benne összevont cellákkal, ami miatt rengeteg képet nem működik (Pl, ha két egymást követő sorban ugyanolyan típus van, vagy összevonták a cellákat, vagy a másodikba nem írták bele).
Szóval úgy néz ki, hogy előbb ezt a többszázsoros állományt át kell bogarásznom és megszűntetni minden hátráltató tényezőt...Természetesen köszi, ha sikerült kiszűrtnöm mindent, lehet újra kérdezek.
-
csferke
senior tag
válasz
Delila_1 #19925 üzenetére
Háát, nem pontosan erre gondoltam.
Szeretném ha a makróval ugrálhatnák celláról cellára (c1 -> c2 -> d3 -> m1 -> d6...). Aktívvá tudom tenni a Range("???").Select-el csak nem tudom az adott cellában megállítani a makró futását, hogy adatot írjak be és az Enter-el lépjek tovább a makróban.
Mint ahogyan írtam is, nem szeretnék InputBox vagy valami hasonlót használni, hanem csak simán a cellákba írni -
tPedro_
őstag
válasz
Delila_1 #19905 üzenetére
Ez nem teljesen vilagos, pontosabban egyaltalan nem az.
Azt a tablazatot alakitsam tablazatta, ami alapjan a pivot tabla kleszult?
A ctrl+r az a fill right parancs.Megprobalom kicsit reszletesebben elmagyarazni, hatha nem jol irtam:
A "nagy" tablazat elso oszlopa egy ID, a tobbi oszlop pedig az adott bejegyzes ertekei, szamok, nevek, datumok vegyesen, van vagy 20 db.
A kis pivot tablak egy adott ertekre szurnek ra, pl a datum oszlopban (honap/nap) azonos datummal szereplo bejegyzesek darabszama es hasonlok.A nagy tablazatban van mundjuk 300 sor. Ha hozzaadok/elveszek belole akkor kene frissiteni.
Ezt a Change Data Source-szal probalom megoldani (ctrl+a a forras tablan allva), ami bizonyos pivot tablak eseteben mukodik (tenyleg annyi cellat jelol ki a lapon, amiben adatok vannak), masok eseteben viszont kijeloli az egesz lapot lapot ures cellakkal egyutt. -
válasz
Delila_1 #19897 üzenetére
igen, de az akkor lenne jó, ha ugyanarra a cellára alkalmaznék több esetet. mindegy végülis, megoldottam if-fel, jól működik így is.
a másik dolog, amivel gondban vagyok az a dátumok kezelése vba alól. cask az év és a hét száma van meg, ebből kellene 7 cellába legenerálnom az adott héthez tartozó 7 db dátumot, de nem akar sehogysem összejönni, pedig a google is a barátom, de valahogy nem sikerül a dolog
ebben tudna-e valaki segíteni?
leginkább a szokásos yyyy.mm.dd. formátumban kellene a dolog.
-
válasz
Delila_1 #19866 üzenetére
Ez egy távközlési mérés feladat, nem nézhet ki máshogy a grafikon, pont ilyennek kell lennie. Valamennyire sikerült megcsinálni, ami elfogadható. Az értékeket nem lehet átírni? Pl. az 1,00E-2 helyére szöveg kellene. Jó volna, ha a vízszintes tengely 128-ról indulna és 128,3-ig tartana, de azt csak pont (x,y) grafikon esetén sikerült beállítanom, itt már nem engedi.
-
bulanjoe
tag
válasz
Delila_1 #19843 üzenetére
Köszönöm szépen! Így már megy!
=ÓRA(A1)+PERCEK(A1)/60
Örök hálaMiután kiagyalom a legbonyolultabb függvényeket, mindig kiderül, hogy van rá már egy megírt függvény. Láttad volna a tegnap mennyit agyaltam, hogy egy dátum alapján kiszámolja nekem egy hét számát egy adott(nem naptári évben) mire rájöttem, hogy van olyan hogy HÉT.SZÁMA()
-
Beri
addikt
válasz
Delila_1 #19833 üzenetére
Amikor azt írtam, hogy "Szerencsére a VBS azt csinálja, amit elmagyaráz neki az ember, tehát már nem kell pivot-izélnem.", azt úgy értettem, hogy már kész van, működik. Csak azért kíváncsiskodtam, mert én ezt egy nem túl bonyolult feladatnak hittem alapból, excel-ül, tekintve, hogy egy oszlopban csodálatosan lehet számoltatni.
Azért az súlyos, hogy a magyar verzióban nem csak a képletek neve lett lefordítva... nem megy a fejembe, hogy ez mért jó. Oké, magyar billentyűzettel máshogy kell pontosvesszőt írni, de ez mióta probléma bárkinek, aki eljut addig, hogy kézzel akar beírni egy ilyet mindenestül?
-
Beri
addikt
válasz
Delila_1 #19825 üzenetére
Tudod, nekem ez az egész még mindig olyan, mint a zsiráf. Szép, szép, de otthonra nem kéne. Szerencsére a VBS azt csinálja, amit elmagyaráz neki az ember, tehát már nem kell pivot-izélnem. Köszönöm a supportot, kár is rám ennyi időt pazarolni, amikor ennyire nem vagyok nyitott az új dolgok (hogy majd a májkrémszoft megmondja, hogy fog kinézni a táblám) iránt
Pláne hogy az ofisöl online excel support (vagy help vagy mittomén) vonatkozó article-jeiben a példáknál rendre vessző van pontosvessző helyett (pl. [link] - innen ki is másolgattam ezeket egy az egyben, hogy kipróbáljam, egyáltalán működnek-e, mert nem értettem, mit csinálok rosszul) és ELEVE nem működik a kód.Csak a kíváncsiság hajt, amikor újra megkérdezem, de mégis megoldható lett volna ez excel-ül? Tehát le lehet azt írni egy mezőbe függvényekkel, hogy ha a dátum aktuális hó ÉS azonos sorban a szám mezőben mondjuk 4 van mellette, akkor számláló++?
-
Beri
addikt
válasz
Delila_1 #19816 üzenetére
Nem akarom szétdarabolni az egészet és 3847563845346 új mezőt létrehozni, már így is eléggé favágó a táblám (az épp aktuális hónapot és az az előttit kiíró mezővel, meg a másik táblából átlinkelttel). Amit leírtam, azzal mi a baj?
Most nézem a megoldásod. Ez konkrétan megoldja soronként azt, amit én egyetlen összesítésben szeretnék látni.
-
T.Lacci
csendes tag
válasz
Delila_1 #19757 üzenetére
Bocs, hogy megint alkalmatlankodom, de szeretnék kérdezni tőled valamit. A múltkor segítettél nekem a szorzo makró elkészítésében, ami ugye teljesen jól működik, de.. De nagyon lassan dolgozik és ezzel kapcsolatban lenne kérdésem. Megfigyeltem (persze lehet, hogy nem jól) ,hogy azok a makrók ahol nekem kell kézzel kijelölnöm a műveleti területet, sokkal gyorsabban dolgoznak, mint azok, ahol előre beállított terület van. Tehát amikor a makróm úgy kezdődik, hogy: Dim TER As Range Set TER = Application.InputBox(PROMPT:="JELÖLD KI A TARTOMÁNYT", Type:=8), akkor azok lényegesen hamarabb végeznek, mint pl. amit a szorzo makróban leírtál. Kérdésem az volna, hogy jól látom ezt vagy semmi köze a gyorsaságnak ehhez?
-
fila
senior tag
válasz
Delila_1 #19720 üzenetére
Szia!
Meg lehet azt oldani, hogy akkor összesítse csak az adatokat, ha az érték ami a cellákba van egy értéknél nagyobb?
pl.
"B" értékhez tartozó adatok 5,6,7,8,9,10
"C" értékhez tartozó adatok 4,7,8,100,200,300
akkor összesítse a szövegnek megfelelő adatokat, ha az 8 nál több?jelen esetben 19 és 600 legyen az összeg amit kapok?
Köszi előre is.
-
T.Lacci
csendes tag
válasz
Delila_1 #19727 üzenetére
Köszönöm a segítségedet, teljesen tökéletes!!! 2 apró gondom van már csak. Az egyik az, hogy a táblázatomnak szöveges fejléce van ezért ha azt nem cserélem ki egy akármilyen számra, akkor nem működik a Makró. A másik csak annyi hogy az utolsó értékem az 50.000 feletti. Oda jelenleg azt írtam, hogy Case 50001 To 999999. Van erre valami más (mármint a 999999 helyett)? Köszi előre is!
-
T.Lacci
csendes tag
válasz
Delila_1 #19674 üzenetére
Szeretném újra a segítségedet kérni egy újabb megoldandó problémában, :
Egy táblázat egyik oszlopában (mondjuk a D oszlopban) árak vannak. Ezeket az árakat szeretném felszorozni, de eltérő mértékben. Tehát az 1-től 10.000-ig értékeket 1,4-el, a 10.001-től 20.000-ig értékeket 1,3-al, a 20.001-től 30.000-ig értékeket pedig 1,2-vel és így tovább. Tudnál nekem ebben segíteni, hogy ezt hogy tudom végrehajtatni egy makróval? Köszönöm előre is a segítségedet! -
morgusz
csendes tag
válasz
Delila_1 #19695 üzenetére
Helló!
Köszi, majd próbálkozom!
Még egy probléma!
Mitől lehet az, hogy ha egy XLS fájl-t elmentek CSV.-ként, (pontosvesszővel tagolt) akkor az adatot tartalmazó terület alatti üres cellák helyén, -jegyzettömb társításnál- több ezer sor pontosvessző látszik, és a CSV. fájlt használó program hibaüzenetet ad, amíg ki nem törlöm a pontosvesszőket.
Hogy kerülnek oda -az ezek szerint csak látszólag- üres cellák? (Az XLS.-be másolással kerültek be az adatok!?) -
válasz
Delila_1 #19651 üzenetére
igen, de vannak olyan esetek (példában az 5-ös szám), amikor az A oszlop számai mellett érték nem szerepel a B oszlopban. ilyenkor is szeretném, ha maradna egy sor, 5-ös számmal (a példában látható 4 helyett), és így összesen 105 sorom lenne, és vagy van bennük szám vagy nincs.
az jutott eszembe, hogy törlöm az üres sorokat. aztán egymás után összehasonlítom az A oszlop egymást követő értékeit. és amekkora a különbség, annyi sort szúrok be a két érték közé.
pl:
3
6itt (6-3)-1 sor beszúrása szükséges
Új hozzászólás Aktív témák
Hirdetés
- Asus Rog Strix G16
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Samsung Galaxy A20e/Samsung Galaxy A40/Samsung Galaxy A04s/Samsung Galaxy A03s
- Csere-Beszámítás! RTX Számítógép PC Játékra! I3 10100F / RTX 2060 12GB / 32GB DDR4 / 500GB SSD
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged