- Vivo X200 Pro - a kétszázát!
- Fotók, videók mobillal
- Szerkesztett és makrofotók mobillal
- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- Magisk
- Xiaomi 14T Pro - teljes a család?
- Megérkezett a Pixel 5 és 4a 5G
- Motorola Edge 40 neo - színre és formára
- Honor Magic V2 - origami
- Milyen okostelefont vegyek?
-
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
-
alfa20
senior tag
válasz
alfa20 #21649 üzenetére
képletek:
D2: =HA(ÖSSZ.MUNKANAP.INTL(A2;B2-1;"0000111";$E$11:$E$14)<0;0;ÖSSZ.MUNKANAP.INTL(A2;B2-1;"0000111";$E$11:$E$14))
E2: =HA(ÖSSZ.MUNKANAP.INTL(A2;B2-1;"1111011";$E$11:$E$14)<0;0;ÖSSZ.MUNKANAP.INTL(A2;B2-1;"1111011";$E$11:$E$14))
F2: =SZUM((B2-C2))*24
G2: =SZUM((D2*8)+(E2*6)+F2)D2: a H-CS napokat számolja össze
E2: a P napokat számolja össze
F2: az utolsó nap ledolgozott óráit adja meg
G2: eredményaz ünnepek miatt kell egy segéd oszlop az ünnepeknek ez van a keretben zölddel. A mellette levő tábla meg ellenőrzés végett készítettem, hogy manuálisan le tudjam ellenőrizni
és egy képlettel
=SZUM((HA(ÖSSZ.MUNKANAP.INTL(A2;B2-1;"0000111";$E$11:$E$14)<0;0;ÖSSZ.MUNKANAP.INTL(A2;B2-1;"0000111";$E$11:$E$14))*8)+(HA(ÖSSZ.MUNKANAP.INTL(A2;B2-1;"1111011";$E$11:$E$14)<0;0;ÖSSZ.MUNKANAP.INTL(A2;B2-1;"1111011";$E$11:$E$14))*6)+SZUM((B2-C2))*24)remélem tudtam segíteni...
-
Caipi
tag
válasz
alfa20 #21618 üzenetére
Még mindig nem az igazi.
Vázolom újra a kérdést, hátha valakinek van rá ötlete:
Egy munkalap két oszlopában kezdő és záródátumok szerepelnek. Ki kellene számolni, hogy a két időpont között hány munkaóra telt el, úgy, hogy a munkaórák H-Cs 8 óra, P 6 óra.
Az össz.munkanap.intl() segítségével munkanapi szintre eljutottam, de így még nem jó, mivel a záró napon nem biztos, hogy teljes munkanapot kell számolni, lezárulhat hamarabb is.
Íme a formátuma a celláknak.Köszönöm a segítséget,
Caipi -
Caipi
tag
válasz
alfa20 #21616 üzenetére
Köszönöm
Ennyivel bővítettem a képletet, mivel ugyanarra a napra nem számol:
HA(ÖSSZ.MUNKANAP(A2;B2)*8=0;SZÖVEG(B2-A2;"óó");ÖSSZ.MUNKANAP(A2;B2)*8)
Viszont a munkaórák száma szerintem így nem fog stimmelni.
Ha H-CS 8 óra és P 6 óra, akkor nem fog jó eredményt adni szerintem.Üdv,
Caipi -
-
pdw_ph
tag
válasz
alfa20 #21600 üzenetére
Szerintem azert mert attacholni egy filet tudsz (ugy altalanossagban) de ez csak egy sheet-re vonatkozik:
.Attachments.Add ActiveWorksheet
ActiveWorkbook-ra tedd at es sztem menni fog.
Persze ha te csak az ActiveWorksheet-et akarod kuldeni akkor azt elobb el kell menteni egy kulon fileba (ez szinten megoldhato a Makroban).
-
Delila_1
veterán
válasz
alfa20 #21517 üzenetére
Csak egy apró egyszerűsítés.
Sub keres()
Dim keres As Variant, cim
keres = InputBox("Keresendő szöveg, szám:", "Keresés")
cim= Cells.Find(What:=keres, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Address
MsgBox cim
End Sub -
retesz147
addikt
válasz
alfa20 #21447 üzenetére
Köszi, de szerintem ez nem lesz jó, mert mindegyikbe van szám, csak az épp lehet nulla.
Ha csak A-ban van 0-tól különböző szám, akkor A-t adja vissza. Ha csak B-ben van 0-tól különböző, akkor B-t adja vissza. Ha mindkettőben van 0-tól különböző, akkor viszont csak B-t, mert ez az új, aktuális ár.
-
Delila_1
veterán
válasz
alfa20 #21404 üzenetére
Szívesen.
Még egy apró tanács: a kulcsszavakat - for, next, do, loop, if, then, else, case, exit, open, stb. - érdemes kisbetűkkel írni, a makró szerkesztő átírja nagyra, amit kell. Ha látod, hogy kisbetűs maradt egy kulcsszó, azonnal tudhatod, hogy elütöttél egy billentyűt.
Majdnem minden kulcsszóra igaz, néhányat kisbetűkkel is elfogad.Ilyen például az
ActiveSheet.Protect userinterfaceonly:=TrueA fenti sor makróból engedélyezi a védelemmel ellátott lapon a zárolt cellákba történő írást.
-
Delila_1
veterán
válasz
alfa20 #21402 üzenetére
A Select Case sorban adod meg, hogy mit figyeljen. Mivel előtte már az L1 változóba beadtad a Cells(a,1) értéket, itt a sort így is írhatod:
Select Case L1
A Case sorokban már nem kell megadni az L1-re történő hivatkozást, mert azt már tudja. Elég a
Case >L1 (és itt automatikusan átíródik a sor Case Is >L1 -re)A helyfoglalásnál minden változóhoz meg kell adni a típust, ennek hiányában Variant-nak veszi, és nagyobb helyet foglal le a memóriában.
A With - End With párost akkor szokás alkalmazni, mikor a With sorban meghatározott objektumra több paramétert adunk meg. 1 paraméternél, mint most a szín megadásánál, felesleges.
A Select utasítást is kerüljük, ha lehet, mert lassítja a futást, anélkül is lehet hivatkozni egy cellára, sorra, bármire.
Ezeknek megfelelően átírtam a makrót.
Sub szelekt1()
Dim c As Integer, i As Integer, a As Integer
Dim L1 As Integer, L2 As Integer
c = 4
For i = 1 To 5
Cells(i, 1) = i
Cells(i, 2) = i + c
c = c - 2
Next
For a = 1 To i - 1
L1 = Cells(a, 1)
L2 = Cells(a, 2)
Select Case L1
Case Is > L2
Cells(a, 1).Interior.Color = 65535
Case Is < L2
Cells(a, 1).Interior.Color = 5287936
End Select
Next
End Sub -
csongi
veterán
válasz
alfa20 #21333 üzenetére
B1 cellába azt szeretném, hogy a kiválasztott típusnak ( ZN vagy M) megfelelő cella tartalmat tegyen be.
vagyis.
B1 cellla legyen egyenlő K5 ha kiválasztott ZN és a C2 cella értéke 1050
B1 cella legyen egyenlő K6 ha kiválasztott M és a c2 cella értéke 1100A b1 cella két változótól függ. egyik a listában választott típustól a másik a c2 cella értékétől.
Az Fkeresh külön működik a c2 értékeivel, a HA külön működik, ezt szeretném egybe gyúrni.
-
alfa20
senior tag
válasz
alfa20 #21158 üzenetére
Hát ezt én nem értem...
Ha egy fájlt a Excel-ből nyitok meg akkor nem jelez hibát, de ha Excelen kívül nyitom meg, hogy nincs elindítva az Excel, akkor meg hibára fut, de ha megnyitom és rögtön nyomok egy start-ot, akkor meg lefut és szépen be is állítja az automatikus számolást.Van rá valami mód, hogy az Excel a Manuális számolást tiltsa?
A fentiekkel közben az is baj, hogy ha megvan nyitva a program, és megnyitok egy olyan táblát ami ki szokta kapcsolni, akkor újra kikapcsolja nekem az újraszámolást... -
Delila_1
veterán
válasz
alfa20 #21069 üzenetére
Gondolom, a label nem tartalmazza a kiterjesztést.
A makró további részét egyszerűsítheted. A select utasítások nem szükségesek, és lassítják a futást.
Dim oszlop As Long
Rows("1:2").Delete shift:=xlUp
Rows("1:1").NumberFormat = "@"
For oszlop = 1 To 27: Cells(1, oszlop) = oszlop & "": Next -
csongi
veterán
válasz
alfa20 #21036 üzenetére
Kipróbálom.
Új kérdés, össze tett!
Hogyan lehet olyat csinálni, hogy mondjuk a G oszlopba összesítse a C oszlop eredményeit. Úgy hogy az ne automatikus legyen, hanem egy összesít gombra történjen meg, és ennek az oszlopnak (C) az értékeit ki lehessen nullázni. Majd a nullázás után, megint lehessen összesíteni.Nyomtatási kép:
Hogyan lehet beállítani a nyomtatásnál, hogy csak azok kerüljenek nyomtatásra, amik a G oszlop értékeinél a nullától eltérő értéket mutat. Vagyis pl: a G12 cella értéke nulla akkor az nyomtatva legyen az F12 cellával együtt. HA a G12 értéke nulla akkor ne legyen nyomtava és az F12 cella sem.Adott két munkafüzet. mindkét munkafüzetben vannak azonos értékű elnevezésű cellák.
Hogyan lehet ezt a két munkafüzetet összefésülni?
Ez két árlista, és egyes termék nevekhez tartozik még pár adat: Pl ár, besorolás stb.
Az irányadó a termék azonosítója. Azt szeretném ha nem kellene cellánként átnéznem és javítanom az adott azonosítókhoz tartozó változásokat, és kézzel átírni. Kb 18000 sor van -
-
gyga
senior tag
válasz
alfa20 #21061 üzenetére
sztem egy sima ha függvény elég ide lenyílómenü a választó cellába...
1.
a legördülő listakészítése: rá állsz a kiválasztott cellára és menü-adatok-érvényesítés-lista(kiválasztani) érték tartomány pl egy új munkalapon egymás alá felviszed alma répa stb =lista!(a lista az a munkafüzet lap neve)a1:a2
2. abba a cellába amiben automatikusan változtatni szeretnéd az értéket beleírod ezt, a d2 az a cella amit figyelnie kell:
=ha(d2="alma";"gyümölcs";ha(d2="répa";"zöldség")) -
soundsthu
csendes tag
válasz
alfa20 #21050 üzenetére
Szia,
szuper a képlet, csak közben rájöttem hogy előfordulnak olyan megnevezések, amik kettőnél több szóból állnak és azok esetében 0-t ad eredményül.
Az lenne a legjobb, ha elég lenne egy vagy két szót a képletbe írni, hogy aztán az ezeket tartalmazó cellákat is figyelembe vegye
Erre is létezik valamilyen formula?
-
csongi
veterán
-
Mutt
senior tag
válasz
alfa20 #20934 üzenetére
Hello,
Olyan makrót tudok készíteni ami megkérdezi melyik oszlop(ok)ból szeretném törölni a nullákat és szépen kitörli?
Ezt tudod használni, csak a kijelölt cellában/oszlopban/sorban töröl:
Sub NullaTorles()
Dim rngTartomany As Range
Dim rngAdatok As Range
On Error GoTo NullaTorles_Error
'kérjük be a tartományt
Set rngTartomany = Application.InputBox("Honnan szeretnéd törőlni a nullákat?", "Választás", , , , , , 8)
'szűkítsük csak a használatban lévő részre
Set rngAdatok = Intersect(rngTartomany, ActiveSheet.UsedRange)
If Not rngAdatok Is Nothing Then
Application.ScreenUpdating = False
rngAdatok.Replace What:="0", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False
Application.ScreenUpdating = True
End If
On Error GoTo 0
Exit Sub
NullaTorles_Error:
MsgBox "Kilépés"
End SubHa további nullákat akarsz keresni, akkor esetleg nézd meg így:
WorksheetFunction.CountIf(ActiveSheet.UsedRange, "=0")üdv
-
Delila_1
veterán
válasz
alfa20 #20877 üzenetére
A látható sorokat töröljük, majd a végén a többi sort láthatóvá tesszük a szűrő feltétel kihagyásával.
Sub szur()
Dim usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row
ActiveSheet.Range("$A$1:$V$" & usor).AutoFilter Field:=2, Criteria1:="*alma*"
ActiveSheet.Rows("2:" & usor).SpecialCells(xlCellTypeVisible).Delete
ActiveSheet.Range("$A$1:$V$" & usor).AutoFilter Field:=2
End Sub -
-
Delila_1
veterán
-
Delila_1
veterán
válasz
alfa20 #20779 üzenetére
Igen, annyi különbséggel, hogy a Dim sorokat a makró elejére szoktuk bevinni, hogy később könnyebben megtaláljuk.
Dim tbl1_fulnev As WorkSheet, tbl2_fulnev As WorkSheet, tbl3_fulnev As WorkSheet
Alá már jöhetnek az értéket adó Set sorok.A Dim változónév As Típus helyet foglal a memóriában a változónak. Ennek az az előnye, hogy ha a makró írása közben elgépeled egy változó nevét, aminek helyet foglaltál, már az indításkor rád kiabál, hogy nincs dimenzionálva egy változó. Ha ezt a lehetőséget kihagyod, nehezebben találod meg a hibát, ami abból adódhat, hogy 1-1 karakter eltéréssel írtad be a változót több helyre. Érdemes hozzászokni a dimenzionáláshoz.
Példa:
Szoveg="Ez itt egy szöveg"
Range("A10")=Szöveg
Ha nem deklaráltad a Szoveg változót, az A10 üres lesz, mert a Szöveg változó üres string, nem adtál neki értéket. Az is lehet, hogy nulla lesz az A10, mert nem közölted a VBA-val, hogy a Szöveg milyen típusú (szöveg, dátum, szám, logikai, stb.) változó legyen. Keresheted a hibát, és könnyű átsiklani 1 betű eltérésen. Ha viszont foglaltál neki helyet, indításkor jön az üzenet, hogy nincs Szöveg változód.A VBE Tools | Option menü Editor fülén jelöld be a Require Variable Declaration négyzetet. Ettől kezdve a moduljaid tetején automatikusan megjelenik az Option Explicit felirat, ami kötelezővé teszi a változók deklarálását, futtatáskor azonnal figyelmeztet a hiányra.
Szerk.: a helyfoglaláskor ne hagyd ki a típus megadását sem, akkor egy dátumot váró változónak nem adhatsz véletlenül szöveg típusú értéket. Előfordulhat, hogy 1-1 változóhoz változó típusú adatot kellene rendelned, ilyenkor a típust elhagyhatod, vagy Variant-ra állítod.
-
Mutt
senior tag
válasz
alfa20 #20630 üzenetére
Hi,
...az adattáblát tudom használni másik munkafüzetben is vagy csak abban amiben létrehozom az adattáblát?
Hasonló módon működik mint az INDIREKT függvény, vagyis ha megvan nyitva a fájl akkor lehet rá hivatkozni
[Fájlneve.xlsx]Munkalap!Táblázatneve[Mezőnév] formában. Azonban, ha bezárod akkor #HIV hibát fogsz kapni.Ergo nem célszerű munkafüzeten kívül használni.
üdv
-
Mutt
senior tag
válasz
alfa20 #19266 üzenetére
Hello,
olyat tudok, hogy van egy szövegem amiben van két szám amire szükségem lenne számoláshoz?
A1: rendelhető 10-10 kg, ill. dinnye, kókusz, 3-3 db-ot.
B1: 10
C1: 3Előre szólok, hogy csúnya lesz a képlet és csak 2007-es vagy újabban működik!
Kell segédoszlop, ez D és E nálam.
D-be ez a CSE képlet kell:
{=ÖSSZESÍT(15;6;HOL.VAN(SOR($A$1:$A$10)-1;--(KÖZÉP(A1;SOR(INDIREKT("A$1:A"&HOSSZ(A1)));1));0);1)}
E-be pedig ez:
{=ÖSSZESÍT(15;6;HOL.VAN(SOR($A$1:$A$10)-1;--(KÖZÉP(A1;SOR(INDIREKT("A"&SZÖVEG.KERES(",";A1)&":A"&HOSSZ(A1)));1));0);1)}A segéd képletek megadják, hogy honnan kezdődik a keresett szám első számjegye.
A második számnál valójában az első vessző utáni pozícíót kapjuk meg.Hogy meddig tart a szám az pedig a kötőjelekből tudható meg.
B1-be ez a képlet menjen:
=KÖZÉP(A1;D1;SZÖVEG.KERES("-";A1)-D1)
C1-be pedig ez:
=KÖZÉP(A1;E1+SZÖVEG.KERES(",";A1)-1;SZÖVEG.KERES("-";KÖZÉP(A1;E1+SZÖVEG.KERES(",";A1)-1;HOSSZ(A1)))-1)Ha kell elmagyarázom, hogyan működik azonban itt inkább javaslok egy UDF-et, amely átláthatóbban adja vissza a kért számokat.
A függvény végigmegy a cella tartalmán és a nem-összefüggő számokat megjegyzi, és a kért számot kiírja.
B1-be ez mehet:
=SzamokSzovegben(A1;1)
C1-be ez:
=SzamokSzovegben(A1;3)A függvény kódja pedig:
Function SzamokSzovegben(be As Range, ki As Integer)
Dim c As Long, i As Long 'általános változók számláláshoz
Dim arrySzamok() 'átmeneti tömb az eredmények tárolására
Dim blnSzam As Boolean 'logikai változó hogy tudjuk mikor váltunk szám és betű között
i = 1
blnSzam = False
'elkezdjük karakterenként feldolgozni a szöveget
For c = 1 To Len(be)
Select Case Mid(be, c, 1)
Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
'ha számot találunk, akkor megjegyezzük és a tömbhöz hozzáfűzzük
blnSzam = True
ReDim Preserve arrySzamok(1 to i)
arrySzamok(i) = arrySzamok(i) + Mid(be, c, 1)
Case Else
'ha eddig szám volt és most nem számot látunk, akkor növeljük a tömböt
'hogy egy újabb számot külön rögzítsünk
If blnSzam Then
i = i + 1
blnSzam = False
End If
End Select
Next c
'kiírjuk a kért értéket
SzamokSzovegben = arrySzamok(ki) * 1
End Functionüdv
-
Delila_1
veterán
-
Mutt
senior tag
válasz
alfa20 #19053 üzenetére
Szia,
Nem jó képletet használsz, FKERES-el nem fog menni.
H3-ban ez a képlet legyen (csak 100 sort néz a képlet):
=SZORZATÖSSZEG(--($B$3:$B$100=F3);--($C$3:$C$100=G3);$D$3:$D$100)Vagy ez a CSE függvény:
{=INDEX($D$3:$D$100;HOL.VAN(F3&G3;$B$3:$B$100&$C$3:$C$100;0))}Vagy simán KERES-el:
=KERES(2;1/($B$3:$B$100=F3)/($C$3:$C$100=G3);$D$3:$D$100)üdv.
-
Mutt
senior tag
válasz
alfa20 #19042 üzenetére
Hello,
Több feltételes keresésre az alábbi megoldások műkődnek (A és B-oszlopokban a kulcsmezők, C-ben pedig a visszatérési érték:
1. SZORZATÖSSZEG (SUMPRODUCT).
Ha számot akarsz visszakapni, akkor az alábbi formátumban tudod használni.
=SZORZATÖSSZEG(--(A:A=feltetel1);--(B:B=feltétel2);C:C)Ha szöveget, akkor pedig használd így:
=INDEX(C:C;SZORZATÖSSZEG((A:A=feltetel1)*(B:B=feltetel2)*SOR(C:C)))2. KERES (LOOKUP)
=KERES(2;1/(A:A=feltetel1)/(B:B=feltetel2);C:C)3. HOL.VAN (MATCH)
Ez egy tömb függvény, vagyis kapcsos zárójelek nélkül kell bevinni és a bevitel végén Ctrl+Shift+Enter-t kell nyomni.
{=INDEX(C:C;HOL.VAN(feltetel1&feltetel2;A:A&B:B;0))}üdv.
-
Delila_1
veterán
válasz
alfa20 #17828 üzenetére
Az én makrómban 1× szerepelt a Dim sorban az usor%, amit Te végül nem dimenzionáltál.
Az utolsó sor (usor) értékét a
usor = Range("U" & Rows.Count).End(xlUp).Row
sor szerint a lap U oszlopából veszed az A helyett. Ha az U oszlopban nincs adat, vagy nem annyi van, mint az A-ban, hibásan működik a makró. -
Delila_1
veterán
válasz
alfa20 #17815 üzenetére
Talán így megfelel.
Sub Valami()
Dim sor%, usor%, szoveg$
Dim alma%, korte%
usor% = Range("A" & Rows.Count).End(xlUp).Row
For sor% = 2 To usor%
If InStr(Cells(sor%, 1), "alma") Then alma% = alma% + 1
If InStr(Cells(sor%, 1), "körte") Then korte% = korte% + 1
Next
If alma% > 0 And korte% > 0 Then szoveg$ = "Van " & alma% & " db almád és " _
& korte% & " db körtéd."
If alma% > 0 And korte% = 0 Then szoveg$ = "Van " & korte% & " db körtéd."
If alma% = 0 And korte% = 0 Then szoveg$ = "Nincs semmid."
MsgBox szoveg$
End Sub -
Delila_1
veterán
válasz
alfa20 #17811 üzenetére
Itt legalább látszik a makróban a tagolás.
A ciklust a 2. sortól indítottam, feltételezve, hogy van címsorod.Sub Valami()
Dim sor%, usor%, szoveg$, f As Boolean
usor% = Range("A" & Rows.Count).End(xlUp).Row
For sor% = 2 To usor%
If InStr(Cells(sor%, 1), "alma") And _
InStr(Cells(sor%, 1), "körte") Then
szoveg$ = "Van almád és körtéd"
f = True: GoTo Kiiras
End If
If InStr(Cells(sor%, 1), "alma") Then
szoveg$ = "Van almád"
f = True: GoTo Kiiras
End If
If InStr(Cells(sor%, 1), "körte") Then
szoveg$ = "Van körtéd"
f = True: GoTo Kiiras
End If
Kiiras:
If f Then
MsgBox szoveg$
Else
MsgBox "Semmid sincs"
End If
szoveg$ = "": f = False
Next
End Sub -
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;"")))))
-
Mutt
senior tag
válasz
alfa20 #17656 üzenetére
Hello,
Makró tanuláshoz (alapoktól) milyen tudnátok könyvet ajánlani?
Mr. Excel - VBA and Macros: Microsoft Excel 2010 (ISBN 978-0-7897-4314-5)
John Walkenbach - Excel 2007 VBA Programming For Dummies (ISBN 978-0-470-04674-6)Online pedig: http://www.functionx.com/vbaexcel/index.htm
illetve számos fórumot: prohardvare, ozgrid, mrexcel stb.Amit tanácsolnék, hogy jól ismerd meg a függvényeket, mivel előfordulhat, hogy egy létező függvény is megoldja a problémádat.
Erre a legjobb fórum természetesen itt van, meg Chandoo-nál.
üdv.
-
wjani
tag
válasz
alfa20 #17656 üzenetére
Szia!
Én is így kezdtem. Aztán következett a sok-sok súgó, meg a sok-sok apró kis program összerakása.
Tudod ezután jön meg az ember étvágya. Ha már ezt és ezt megtudtam csinálni, akkor jó enne még ez is, így szép lassan az agy rááll az excel makró készítésére.Én az excel 5 makrózással kezdtem. Az egy elég vastag fekete könyv. De mióta lézetik a barátunk. (Google), azóta nem biztos, hogy szükséges a könyv.
A másik dolog, hogy apránként kell haladni. Mindig egy kicsit tanulj meg és azt gyakorold. Aztán próbálj kitalálni valami egyszerű kis programot, amit megtudnál csinálni excelben. Stb.Üdv.
Wjani -
Delila_1
veterán
válasz
alfa20 #17611 üzenetére
2. kérdés
Sub Keplet()
Dim usor%
usor% = Range("F2").End(xlDown).Row
Range("G2:G" & usor%).FormulaR1C1 = "=RC[1]/RC[-1]"
Range("G:G").Select: Selection.Copy
Selection.PasteSpecial Paste:=xlValues
Range("H2:H" & usor%).FormulaR1C1 = "=RC[-2]*RC[-1]"
'********************************************
Range("H:H").Select: Selection.Copy
Selection.PasteSpecial Paste:=xlValues
'********************************************
Application.CutCopyMode = False
End SubA csillagos sorok közötti rész nem kell, ha a H oszlop képleteit nem kell felülírni az értékeivel.
-
Delila_1
veterán
válasz
alfa20 #15605 üzenetére
Meghatározod az utolsó sort, például az usor=Cells(Rows.Count, "A").End(xlUp).Row -val.
Range("I2:T2").Select helyett Range("I2:T" & usor).Select-et írj.
A beillesztésnél a Selection.PasteSpecial Paste:=xlFormulas forma illeszti be a képletet, az xlValues az értéket másolja.
A képleteket egyszerre is megadhatod külön másolás nélkül az összes sorba
Range("T2:T" & usor)= "=Range(A2*10)" formában.
Az Excel tudja, hogy a T3-ba már =A3*10-et írjon.
Új hozzászólás Aktív témák
Hirdetés
- Egy helyre gyűjti az eltérő áruházak játékait a Microsoft
- Vivo X200 Pro - a kétszázát!
- Fotók, videók mobillal
- Eredeti játékok OFF topik
- Autós topik
- Szerkesztett és makrofotók mobillal
- Sony MILC fényképezőgépcsalád
- LEGO klub
- One otthoni szolgáltatások (TV, internet, telefon)
- World of Tanks - MMO
- További aktív témák...
- Akciós Windows 10 pro + Office 2019 professional plus csomag AZONNALI SZÁLLÍTÁS
- Intel Core i7-8700, i7-9700 CPU, processzor - Számla, garancia
- Fotós felszerelés - Stúdió lámpa / Softbox / Vaku
- Bomba ár! Lenovo IdeaPad 330S-15IKB - i5-8G I 8GB I 256SSD I 15,6" FHD I HDMI I Cam I W11 I Gari!
- Realme C30 32GB, Kártyafüggetlen 1Év Garanciával
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest