-
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
-
karlkani
aktív tag
válasz
KubanitoS
#51885
üzenetére
Igen, ugyanis úgy áll össze a cellára való hivatkozás.
R4 & "5:" & R4 &R1 jelen esetben azt jelenti, hogy R5 : R17. Azt hadd kérdezzem már meg, hogy az egyes oszlopok alatt, ahol a fogyást könyveled van más is? Ha nincs, akkor tök felesleges az utolsó sorral meg a levonandó tartomány megadásával foglalkozni. A1-be beírod az induló készletet, A3-tól lefele meg írod a fogyást.A2
=A1-SZUM(A3:A1000)(ez lesz az aktuális készlet)*1000 helyett beírhatsz más számot is, nagyobbat értelemszerűen, mint ahány sor lehet az adott időszakban.
Ezt a képletet húzhatod jobbra.
-
föccer
nagyúr
válasz
KubanitoS
#51872
üzenetére
Muszáj lesz valami segédoszlop, ha nem akarsz makrót csinálni.
Egy egyszrű megodás, ha az aktuális készletet külön cellába rakjuk, a készletfogyást szummázuk és az első készletből vonjuk. Ez akt készletet ad. Ha kell a fogyás napján léő készlet, akkor a H2 képlete: =HA(G2="";"";C1-G2), és onnantól a H oszlop képlete H3-tól lefelé: =HA(G7="";"";$C$1-SZUM($G$2:G1001))
A fenti képletezésben a SZUM második elemének tetszőlegesen nagy számot lehet adni (kb 1millióig). Most ~1000 tételig kezeli. Ha valamiért nem akarod beégetni a maximális sorok számát, akkor meg lehet mókolni, hogy dinamikus legyen a függvényekben a tömbök kezelése, de azzal már foglalkoznom kell pár pect, de azt csak hétfőn tudom megcsinálni

-
föccer
nagyúr
válasz
KubanitoS
#51869
üzenetére
Ha jól sejtem valami ilyesmi kell. A C oszlopba írja a számított eredményeket. A képletbe a dollár jelek fontosak (ezek rögzítik le, hogy az automatikus kitöltésnél ne "másszon el" a B1 cella hivatkozása). A HA feltételt csak azért raktam be, hogy ha a B oszlopban nincs kitöltve az adott sora, akkor ne legyen csúnya.
C oszlopot tetszőlegesen le lehet húzni.

-
poffsoft
veterán
válasz
KubanitoS
#28084
üzenetére
értem.
amit javítanod kell, uoszl az utolsó adatot tartalmazó oszlop EXCEL azonosítója szerint, ez nálad az E nevű oszlop a képen, ami ugye az excelnek "F", de nem látom a végét...Sub SorTorles()
Dim sor As Long, usor As Long
Dim lapsor As Integer
Dim fejlec As Integer
Dim aktsor As Integer
Dim uoszl As String
usor = Range("B" & Rows.Count).End(xlUp).Row
lapsor = 29
fejlec = 4
uoszl = "F"
aktsor = fejlec + 1
For sor = aktsor To usor
If (sor - 1) Mod lapsor = 0 Then sor = sor + fejlec
Do While Application.WorksheetFunction.CountA(Range(Cells(aktsor, "B"), Cells(aktsor, uoszl))) = 0 And aktsor <= usor
aktsor = aktsor + 1
If (aktsor - 1) Mod lapsor = 0 Then aktsor = aktsor + fejlec
Loop
If aktsor > usor Then Exit For
If Application.WorksheetFunction.CountA(Range(Cells(sor, "B"), Cells(sor, uoszl))) = 0 Then
Range(Cells(aktsor, "B"), Cells(aktsor, uoszl)).Select
Selection.Copy
Application.CutCopyMode = False
Selection.Cut
Range(Cells(sor, "B"), Cells(sor, uoszl)).Select
ActiveSheet.Paste
End If
aktsor = aktsor + 1
If (aktsor - 1) Mod lapsor = 0 Then aktsor = aktsor + fejlec
If aktsor > usor Then Exit For
Next
End Sub -
poffsoft
veterán
válasz
KubanitoS
#28082
üzenetére
namost a kérdésem:
minden munkalapon van a fejléc és max 25 sor (ezesetben Delila makrója kell neked, ahogyan leírta),
vagy egy munkalapon van 25 soronként a fejléc (vagyis 29 soronként, 25 adatsor plusz 4 sor a fejléc), ezesetben az enyémmel próbálkozz-módosítani kell még, mivel, ahogyan látom, az A oszlopban a sorszám van, vagyis teljes sorokkal nem operálhatunk, így egyelőre nem jó a makró, a row() helyett majd range() lesz, de ehhez tudni kellene, meddig vannak az adatok (pl Range("B5:H5"))
a
fejlec=4
és
lapsor=29
amit módosítanod kell majd.amíg Delila ki nem rukkol az elegánsabb kóddal.

(#28081) Geryson : Nincs mit

-
Delila_1
veterán
válasz
KubanitoS
#28070
üzenetére
Makró, amire poffsoft utalt:
Sub SorTorles()
Dim sor As Long, usor As Long
usor = Range("A" & Rows.Count).End(xlUp).Row
For sor = usor To 5 Step -1
If Application.WorksheetFunction.CountA(Rows(sor)) = 0 Then _
Rows(sor).Delete
Next
End SubA makró az A oszlopban található utolsó adattól indul felfelé. Ahol üres sort talál, azt kitörli, az első 5 sor kivételével.
Ha van oszlop, ahol több kitöltött sor van, mint az A oszlopban, az
usor = Range("A" & Rows.Count).End(xlUp).Row -ban írd át az A-t az oszlopod betűjelére.
A For kezdetű sorban írhatod át a meghagyandó felső sorok számát 5-ről.
Mivel nem tudom, minden lapodon kell-e ismételni a sorok törlését, 1 lapra írtam meg. Azon a lapon töröl, amelyiken éppen állsz.
Új hozzászólás Aktív témák
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- iPhone Ultra néven jöhet az Apple első foldja, nem lesz olcsó mulatság
- Robotporszívók
- Házimozi belépő szinten
- Autós topik
- GL.iNet Flint 2 (GL-MT6000) router
- Automata kávégépek
- Gyúrósok ide!
- PlayStation 5
- Xbox Series X|S
- További aktív témák...
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Microsoft és egyéb dobozos retro szoftverek
- Fallout 4 Pip-Boy Edition eladó
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- 360 áthajthatós! Dell Latitude 5330 2 in 1 i7-1265U 10magos! 16GB 512GB 13.3" FHD 1 év garancia
- NEO-t vennél? NE TEDD!!! KÉSZLETKISÖPRÉSI UltraAkcióóó! Air M4 16GB 256GB Garancia - több színben!
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
- G.Skill Aegis 16GB DDR4 3200MHz VADIÚJ, GARANCIÁS!
- HIBÁTLAN iPhone 12 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4520
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest







Fferi50