-
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
-
CsoGe
csendes tag
válasz Delila_1 #36747 üzenetére
Hali!
Lehetne még egy kérésem?
Van egy olyan lehetőség most ezzel a makróval, hogy valaki véletlenül lenyomja a gombot 3-4szer és mindig generálja lefele a számokat.
Be lehetne azt állítani, hogy a gomb megnyomása után 30 másodpercig ne lehessen a gombot újra megnyomni/ne generáljon újra számokat?
Lehet valami időzítőt belerakni?
Így elkerülhetném, hogy valaki véletlenül túl sok számot generáljon le.Előre is köszi a segítséget!
Gergő -
kasza blanka
aktív tag
Üdv!
Abban kérném a segítségeteket, hogy hogyan tudom azt megoldani, hogy egy index/hol.van párosnál hogyan tudom az megoldani, hogy a tömb - amiben keresni szeretnék - kezdő és utolsó sorát dinamikusan, azaz 2 cellában szereplő értékkel tudjam megadni?
=INDEX(A$4000$7655;HOL.VAN(E29;E$4000:E$7655;0);4)
ez a képlet, és én azt szeretném, hogy a 4000-t és a 7655-t inkább A24 és B24-es cellákban lévő értékekből vegye, így ha átírom az ott szereplő számokat, akkor más intervallumban keres.
Köszönöm
-
oke
senior tag
Sziasztok!
Van egy kimutatásom, melyekben darabot számolok. Viszont jó lenne, a soronként az összesítésnél az alatta lévő számok átlagát számolná, nem a darabok összegét.
Csatolom a képet, mire gondolok. A 7-es sor bekarikázott darabszám összege helyett az alatta lévő 8-13 sor átlaga érdekelne. Az egész kimutatásra vonatkozóan. Megoldható?Illetve hogy tudnám ezt a kimutatás adatait átmásolni úgy, hogy már ne kimutatásként kezelje, de a lenyitási lehetőség megmaradjon? Készítek ugyanis grafikont belőle és fontos, hogy az "egység/blokk" megmaradjon.
Excel 2007
[ Szerkesztve ]
-
Delila_1
Topikgazda
A gombhoz a Veletlen makrót rendeld, ez hívja meg a Inditas-t.
Sub Veletlen()
Dim kezd As Long, sor As Long
If Range("AA1") = "" Then
Inditas
Else
MsgBox "Nyugi! 5 mp után újra indul" & vbLf & _
"ha ezt leokéztad", vbInformation
Application.Wait Now + TimeValue("0:00:05")
Inditas
End If
Range("AA1") = "Indítva"
End SubSub Inditas()
Dim kezd As Long, sor As Long
kezd = Range("E" & Rows.Count).End(xlUp).Row + 1
If kezd = 2 Then kezd = 1
For sor = kezd To kezd + 4
Cells(sor, "E") = Int(Rnd() * 153) + 1
Next
End SubÉrdemes a ThisWorkbook laphoz rendelni egy makrót, ami a füzet behívásakor kiüríti az AA1 cellát.
Private Sub Workbook_Open()
Sheets("Munka1").Range("AA1") = ""
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.
-
Delila_1
Topikgazda
válasz kasza blanka #36752 üzenetére
Be kell még iktatnod a képletbe az INDIREKT függvényt. A súgó megmondja a használatát.
Ha nem megy, írd meg, lesz itt valaki, aki segít.
Érdemes előbb a súgót megnézned, hogy megértsd, miről van szó.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
spe88
senior tag
Sziasztok!
Van egy szerintem általatok könnyedén megoldandó probléma, de rajtam kifogott. Kicsit bonyolultnak tűnik, de az Excelből egyből megértitek.
Van egy darabjegyzék adott szintekkel (ezeket az A-E oszlopokban vizuálisan is szemléltettem a könnyebb érthetőség kedvéért). A 'G' oszlopban az adott szintek vannak. Arra lenne szükségem, hogy az 'I' oszlopban minden olyan helyre OK-ot rakjon, ami 200-zal kezdődő számból ered ('H' oszlop). Magát a 200-as számot is.
(Előfordulhat, hogy 200-as szám alatt is van 200-as szám, tehát a mélyen lévő 200-as szám egy felette X szinttel lévő 200-as számbból ered, ebben az esetben azt is OK-ra lehet állítani)
Köszönöm előre is
Spóroljunk! Kerül, amibe kerül!
-
Sprite75
tag
Sziasztok.
Valahogyan meg lehet azt oldani, a képen látható kinézetű táblával, hogy azokat az oszlopokat, amiben nincs rendelés (pl G és O oszlop) azokat elrejteni, (valahogy úgy mint az auto szűrővel le lehet szűrni a sorokat, persze nem oszloponként kijelölve kézzel rejteni).
Aztán a legalsó Összesítő (Ft) sorban lévő összegeket összeadni úgy, hogy 10 tétel legyen összeadva aztán újabb 10 és aztán a maradék.
Ez a táblázat kb 90 oszlopból áll de minden hónapban változóan kb 30 oszlopban van adat és aztán ebből írnának számlát, úgy, hogy egy (kézzel írott) számlára csak 10 tétel fér. -
CsoGe
csendes tag
válasz Delila_1 #36754 üzenetére
Hali!
Ez azt jelenti, hogy egy gombhoz tudok több makrót is rendelni?
Amit tegnap írtál, az van most a gombhoz rendelve.
Ha ezt most hozzáteszem, akkor a számgenerálás nem fog menni.Egyébként ezt az üzenetet kapom:
http://www.kepfeltoltes.eu/images/hdd1/2017/12/13/9142017_12_13_18_04_08_.pngKöszi,
Gergő[ Szerkesztve ]
-
Delila_1
Topikgazda
A Veletlen és az Inditas makrót 1 modulba tedd. A
Private Sub Workbook_Open()
-t a ThisWorkbook laphoz rendeld úgy, hogy bal oldalon duplaklikkel kiválasztod a ThisWorkbook lapot, majd a jobb oldalon megjelent üres felületre másold be. Ez utóbbit nem kell gombhoz rendelned, automatikusan indul a fájl megnyitásakor. Ez csak törli a Munka1 lap AA1 cellájának a tartalmát, hogy első indításkor ne legyen késleltetés.1 gombhoz csak 1 makrót lehet rendelni. A mostani feladatban a Veletlen hívja az Inditas makrót.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Apollo17hu
őstag
Sziasztok!
Olyan problémába futottam bele, hogyha hozzárendelek egy makrót egy alakzathoz, amihez hiperhivatkozást is társítok, akkor kattintásra csak az utóbbi művelet kerül végrehajtásra, a makró viszont nem fut le. Gyanítom, hogy a háttérben az történik, hogy a hiperhivatkozás végrehajtása miatt a fókusz már nem az alakzaton van, ezért a makró nem kerül meghívásra.
Van arra módszer, hogy makró és hiperhivatkozás is végrehajtódjon? Vagy írjam bele a makró végébe a hiperhivatkozás utasítását, és akkor elég csak a makrót társítanom? Más ötlet esetleg?
-
MikeAinsel
újonc
Helló,
nem tud valaki excelben egy olyan módszert, amivel egy adott tartományt tömbképletté lehetne alakítani?
Lenne vagy 700 különböző képlet amit összefűzve hoztam létre, értéket bemásolom, de ennyi. Jó lenne nem egyesével végig Ctrl Shift Enterezni. Makróval is probáltam kevés sikerrel:Sub arrayformula()
Dim rng As Range
Dim arr As Range
Set rng = Selection
For Each arr In rng.Areas
arr.FormulaArray = arr.Cells(1, 1).Formula
Next
End SubEnnél lehet hogy a Cells hibás, legalábbis néha fent akad rajta, ha nem akkor sem végzi el a kért műveletet.
Köszönöm
-
Marvinyo
aktív tag
Sziasztok!
Szeretném feltételesen soronként formázni az A131 részt.
Van az alábbi szuper kis formulám:
=COUNTIF(JanuarNW[Csuszonapok];DATE($M$1;$M$3;ROW()))>0
Ha ezt beütöm az M oszlopba, szándékom szerint működik, és ír ki TRUE/FALSE értékeket
Ha ezt a feltétles formázásban használom, akkor viszont hibás formulát ír. A táblázat nem tetszik neki. Ha lecserélem a JanuarNW[Csuszonapok] részt I1:I:5-re akkor tökéletesen működik.
Gondoltam arra, hogy az M oszlop TRUE/FALSE alapján formázok (tehát ha M1 igaz, akkor A1,B1-re formázzon, ha hamis, akkor hagyja békén), de azt sem sikerült összehozni, nem tudom hogy tudnék rájuk hivatkozni, nem szeretném egyesével (pontosabban kettésel...) formázni a két oszlop sorait.
Van esetleg valami ötletetek erre?
-
Delila_1
Topikgazda
válasz MikeAinsel #36768 üzenetére
Ha beírtad a tömbfüggvényt, ugyanúgy húzva másolhatod, mint bármelyik más függvényt.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
MikeAinsel
újonc
válasz MikeAinsel #36768 üzenetére
Vagy lehet, hogy meg lehetne oldani úgy is, hogy az alábbi képletbe:
=IFERROR(INDEX('1.Szabó Ottó'!$B$3:'1.Szabó Ottó'!$B$500,SMALL(IF($C$2='1.Szabó Ottó'!$E$3:'1.Szabó Ottó'!$E$500,ROW('1.Szabó Ottó'!$E$3:'1.Szabó Ottó'!$E$500)-ROW('1.Szabó Ottó'!$E$3)+1),ROW('1.Szabó Ottó'!1:1))),"")jelen estben 1.Szabó Ottó munkalapnevet egy adott cellából olvasa ki. Az indirect-re gondoltam, de egyszerüen képtelen vagyok müködésre birni.
Lenne valakinek ötlete rá?
Köszönöm
-
MikeAinsel
újonc
válasz Delila_1 #36775 üzenetére
Köszönöm a választ, de sajnos az nem megoldás,
a lényege annyi lenne, hogy egyrész oszloponként különböző munkalap név van benne, lefelé megy a húzva másolás. Annyit szeretnék, hogy dinamikus legyen, tehát ha változnak a munkalapnevek akkor is müködjön, ezt pedig egy összefüz képlettel bemásolva érném el, de amikor megvan nem tömbképletként kezeli ezeket. Az elöző hsz-emben leírtam egy másik lehetséges megoldását a dolognak. -
Delila_1
Topikgazda
válasz MikeAinsel #36778 üzenetére
Változó lapnevek esetén alkalmaznod kell az INDIRECT függvényt is a képletedben.
countif(index(indirect("'" & A1 & "'!$B$3:$B$500",
...ahol az A1 tartalmazza a lapnevet. Az indirect után " ' " van, a felkiáltó jel előtt " '
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
demarad
tag
Sziasztok,
(Excel 2016)
valaki tud olyanban segíteni,hogy van egy oszlop aminek az adatait szeretném feltölteni egy kiválasztási listába makróval.
Annyi problémám van, hogy ez a lista folyamatosan változik (ezt másik makró tölti fel ez működik),
azt szeretném ha a kiválasztási listába csak annyi sor kerülne, amennyi sor az oszlopban van, ami ugye változik.[CODE]
Range("C5").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=vevo_lista_seged!$B2$B50"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With[/CODE]a Formula1:= utáni részbe nem tudom hogy kellene egy változót becsempészni, ami az adott oszlopban található adatot tartalmazó sorainak számát tartalmazza.
előre is köszönöm
-
Pakliman
tag
válasz demarad #36781 üzenetére
[Itt találsz (lehetséges) megoldást]
Ami igazából fontos, az arng.End(xlUp).Row
rész. A többit csak szükségből kellett hozzáírnom. -
lenkei83
tag
-
Delila_1
Topikgazda
válasz MikeAinsel #36784 ü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.
-
spe88
senior tag
Erre van valakinek ötlete?
Köszi
Spóroljunk! Kerül, amibe kerül!
-
Delila_1
Topikgazda
A sematikus ábrázolás helyett a valós, feltehetően csoportokba foglalt adatokat tartalmazó fájlt tedd ki. Természetesen a nem publikus adatok helyett írj hamisakat. Legyen a mintában 1–5 mélységű csoport.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
spe88
senior tag
válasz Delila_1 #36787 üzenetére
Ennél jobbat nem tudok kirakni. Bejelöltem a fájlban, hogy az adott sorokra a képletnek NOK-ot vagy OK-ot kéne dobnia (I-oszlop).
Annyi, hogy az alkatrésznevek nincsenek benne a fájlban, meg a számok nem teljesen végig vannak kiírva, hanem csak az első 3 szám, de ezek teljesen irrelevánsak a feladat megoldása szempontjából. Ennél valósabbat felesleges beraknomA mintában 1-5 mélység van, nyilvánvalóan ahogy írtam is a képletnek csak a G és H oszloppal kell foglalkoznia. (Az A-F csak vizuális szemléltetés a jobb megértés végett.)
Valószínűleg valami tömbképlet fog kelleni, de nem értek annyira az Excelhez sajnos.
Köszönöm előre is
Spóroljunk! Kerül, amibe kerül!
-
RAiN91
őstag
Sub TEST()
Dim c As Range, r As Range
Dim output As String
For Each r In Range("B69:D1870").Rows
For Each c In r.Cells
output = output & "," & c.Value
Next c
output = output & vbNewLine
Next r
Open "D:\text.txt" For Output As #1
Print #1, output
Close
End SubHogyan tudom megcsinálni, hogy ha már létezik az adott helyen a text.txt, akkor ne írja felül, hanem csináljon egy másik fájlt (pl. text2.txt)?
Köszönöm előre is.
-
Pakliman
tag
válasz RAiN91 #36789 üzenetére
Sub TEST()
Dim c As Range, r As Range
Dim output As String
Dim fn As String
Dim bOk As Boolean
Dim i As Long
For Each r In Range("B69:D1870").Rows
For Each c In r.Cells
output = output & "," & c.Value
Next c
output = output & vbNewLine
Next r
fn = "text"
bOk = False
Do
If Dir("D:\" & fn & ".txt") <> "" Then
i = i + 1
fn = "text" & i
Else
bOk = True
End If
Loop Until bOk
Open "D:\" & fn & ".txt" For Output As #1
Print #1, output
Close
End Sub[ Szerkesztve ]
-
babuckoo
újonc
Sziasztok,
A kérdésem a következő lenne:
Megcsináltam egy legördülő listát (adatok - érvényesítés menüvel).
Ebben több száz gépnév található.
Azt szeretném, hogy ha acellába elkezdem beírni a gép nevét akkor a legördülő listában vagy lépjen oda a névsor szerint, vagy csak azon gépek jelenjenek meg amik megfelelnek a már beírt névrészletnek.Előre is köszönettel:
Babuckoo -
babuckoo
újonc
-
Delila_1
Topikgazda
válasz babuckoo #36799 üzenetére
Tedd a CombBoxot az első sorba. Az A2 cellán állva tegyél be ablaktábla rögzítést (Nézet menü), hogy ez a sor mindig látható legyen.
Jobb klikk a ComboBoxon, Kód megjelenítése. Bejutottál a VB szerkesztőbe, és a makród első és utolsó sora megvan. Ezeket egészítsd ki:
Private Sub ComboBox1_Change()
If ActiveCell.Row > 1 Then '*************
Cells(ActiveCell.Row, 1) = ActiveCell.Row - 1 '*************
Cells(ActiveCell.Row, 2) = ComboBox1
End If
End SubBeállsz az első üres, kitöltendő sorodba, és kiválasztod a gépet. Ennek a sornak az A oszlopába beíródik a sorszám, a B-be pedig a kiválasztott gép neve. Ha a címsor 1-nél több sorból áll, 1 helyett annyit vonj le az ActiveCell.Row-ból. A másik csillagozott sorban is írd át az 1-et.
A füzetet makróbarátként kell mentened.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Új hozzászólás Aktív témák
- Milyen pendrive-ot vegyek?
- Autós topik látogatók beszélgetős, offolós topikja
- MIUI / HyperOS topik
- Van, amit nehéz lett megtalálni a Google keresőjével
- RAM topik
- Linux kezdőknek
- Sony MILC fényképezőgépcsalád
- Házimozi haladó szinten
- Luck Dragon: Asszociációs játék. :)
- LG LCD és LED TV-k
- További aktív témák...
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Vírusirtó, Antivirus VPN kulcsok
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."