- sh4d0w: Csak a profit - emberélet nem számít
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gurulunk, WAZE?!
- bitpork: Augusztus 2- szombat jelen állás szerint.
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- eBay-es kütyük kis pénzért
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
-
LOGOUT
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
-
Louro
őstag
Nagyon tákolt, de működő megoldás:
Range(Cells(BASE_INFORMATION_IDX + 11, REPORT_MONTH_IDX), Cells(BASE_INFORMATION_IDX + 11, REPORT_MONTH_IDX)).Formula = _
"=SUMPRODUCT(" & Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5), Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5)).Address(0, 0) & ":" & _
Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX), Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX)).Address(0, 0) & "," & _
Range(Cells(BASE_INFORMATION_IDX + 10, REPORT_YEAR_IDX + 5), Cells(BASE_INFORMATION_IDX + 10, REPORT_YEAR_IDX + 5)).Address(0, 0) & ":" & _
Range(Cells(BASE_INFORMATION_IDX + 10, REPORT_MONTH_IDX), Cells(BASE_INFORMATION_IDX + 10, REPORT_MONTH_IDX)).Address(0, 0) & "/" & _
"SUM(" & Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5), Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5)).Address(0, 0) & ":" & _
Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX), Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX)).Address(0, 0) & "))"Csak gondoltam egyből lehetne Application.SumProduct-tal is megoldhatnám, hogy egységes, "szép" képet mutasson a script.
-
Louro
őstag
válasz
Delila_1 #29997 üzenetére
?activecell.formula
=SUMPRODUCT(Y5:AI5,Y14:AI14/SUM(Y5:AI5))A makrórögzítő azért nem jó, mert hivatkozásokat tesz be. Én meg olyanra akarom csinálni, azért a sok változó, hogy ha beszúrnak új sorokat, akkor még mindig a megfelelőekkel számoljon. Nem tudom azt mondani, hogy FormulaR1C1.
Rögzítővel:
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT(R[-10]C[-10]:R[-10]C,R[-1]C[-10]:R[-1]C/SUM(R[-10]C[-10]:R[-10]C))" -
Louro
őstag
Sziasztok!
Egy script-et kurtítanék, de a sumproduct kifogott rajtam.
Szerintetek mi lehet a bibi? A hiba: Run-type error: 13. Type mismatch.Cells(BASE_INFORMATION_IDX + 11, REPORT_MONTH_IDX) = _
Application.SumProduct(Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5), Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX)), _
Range(Cells(BASE_INFORMATION_IDX + 10, REPORT_YEAR_IDX + 5), Cells(BASE_INFORMATION_IDX + 10, REPORT_MONTH_IDX)) / _
Application.Sum(Range(Cells(BASE_INFORMATION_IDX + 1, REPORT_YEAR_IDX + 5), Cells(BASE_INFORMATION_IDX + 1, REPORT_MONTH_IDX))))Ha kézzel írom meg a függvényt, semmi gond nincs, de úgy látszik a range-eket nem szereti a sumproduct. Ha Application.Worksheetfunction.SumProduct-ot írok, akkor is ugyanez a hiba.
-
cipolly
újonc
Üdv!
(Microsoft Office 2010)Adott egy Excel tábla, táblázattá formázva (sok-sok rekorddal)
Vannak azonos cikk számú cellák, más-más tulajdonsággal, amit szűrni tudok.
Ezeket a sorokat, nem csak cellát!, kellene színezni, két szín elég, csak látszódjon, hogy melyik tartozik egy cikk szám alá.
Eddig OK, meg csináltam, egy segéd cellába 0 és 1(egyeseket) vettem fel.
=HA(F9=0;HA(A9=A10;0;1);HA(A9=A10;1;0))
utána feltételes formázás képlet alapján, ha 0 akkor ilyen szín ha 1 akkor meg más.
Csak hogy szűrés után lehet más-más cikk szám 0 vagy 1, egymás után, tehát egyforma színűek lesznek!, azaz azt kellene elérnem, hogy a HA függvény csak a szűrteket vegye figyelembe.
Ezt kellene ki küszöbölni.
alap tábla
szűrt tábla
Különböző cikk szám, ugyan az a szín!Ötlet? Van erre „gyógyszer”?
Köszönöm! -
Reinhardt
őstag
válasz
huliganboy #29992 üzenetére
Ezaz, tokeletes, koszi.
-
Reinhardt
őstag
válasz
huliganboy #29990 üzenetére
2016
-
Reinhardt
őstag
Udv,
Van egy oszlopom, nevek vannak benne, de aki csinalta az nem foglalkozott vele, hogy idiotan nez ki, ha csak kis/nagy betuket hasznal. Szoval most igy nez ki:
myrto
MONICA
Giuseppe Alessandro
Chieh-HungMeg lehet oldani valahogy, hogy a csak a kezdobetuk legyenek nagyok?
-
sztanozs
veterán
válasz
huliganboy #29987 üzenetére
BTW az excel nem felkerekíti, csak felkerekítve jeleníti meg.
Amúgy van kerekítés függvény Access-ben (még ha egy kicsit hülyén is működik): RoundHa pl 1000-re akarsz kerekíteni, akkor
= 1000 * Round([MEZŐNÉV] / 1000, 0) -
huliganboy
addikt
Accessben nem tudjátok véletlenül hogy lehet kerekiteni?
Van egy szám amit szorzok a hónap napjainak számával ami mindig egész szám kell legyen.. De van ugye hogy pl 69998 jön ki... Az Excel ezt szépen felkerekíti, de ez a fránya access nem akarja...
-
stivi1g
tag
Igen, közben módosítgattam kicsit de attól még elméletileg a cella név/szám nem változik.De ha nem akkor bocsánat. elvileg ez lenne a táblázat egy beviteli munkalappal. "Kocsikiadás" egy összesítő munkalappal. az működik is. És akkor lenne egy tartalék munka lap ahova listázni kéne az adott dátumra a tartalék rendszámokat.
-
biker
nagyúr
-
bsh
addikt
válasz
stivi1g #29979 üzenetére
és biker:
mindkettőtöknél "rossz helyen" van a kód (vagyis én nem úgy írtam, hogy onnan fusson, mert nem sok értelme lenne ezekben az esetekben). én úgy írtam, hogy az csak az adott munkalapon fusson. a képen bejelöltem, hová kell duplán kattintani (VBA Projekt (fájnév)\Microsoft Excel objects\munkalap_neve) és az úgy megnyíló ablakban legyen a kód. bocs a félreértésért -
stivi1g
tag
Nem tudom mit rontok el. de nem történik semmi. lehet rossz helyre másoltam a kódot.
képen mutatom hova tettem.
hova tettem.
Viszont lenne még egy kérdés ha másik munkalapra akarom a kilistázást azt elég a "Sheets("Tartalék").Select" parancs beszúrásával megoldani? Természetesen Tartalék a Munkalap neve is.
-
biker
nagyúr
válasz
Delila_1 #29967 üzenetére
szia!
ez fut olyan 6-7 perce, nem tudom, mi lesz a vége, de most nézem, a B oszlopot a termék nevekkel felülírja #values-al, ami nem jó jel, a K oszlopba 1 1 1 1 2 2 2 és hasonlók kerülnek be
Kíváncsi leszek, mi lesz a végeredmény, ha lefut (core i7 16gb ram macbook pro) -
bsh
addikt
válasz
stivi1g #29969 üzenetére
nekem nem teljesen világos: gondolom a B oszloptól az AF oszlopig január 1-től január 31-ig lennének a dátumok (csak nem látszik), de a tartalék mező csak jan.22-től van? akkor most csak jan22-jan31 közti mezőket vegye figyelembe? vagy a tartalék mezők ki lesznek bővítve? vagy nem tudom...
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo xit
Set Target = Target.Cells.Item(1)
If Not Intersect(Target, Me.Range("B9:AF500")) Is Nothing Then
If Target = "tartalék" Then
x = WorksheetFunction.Match(Me.Cells(8, Target.Column), Me.Range("AI12:AR12"), 0) - 1
Me.Range("AI12:AI512").Offset(0, x).Find("") = Me.Cells(Target.Row, 1)
End If
End If
xit:
Application.EnableEvents = True
End Sub
ez a teljes(?) dátumtartományban (B-AF oszlopok) "figyel", és az AI12:AR12 cellákban lévő dátumokkal hasonlít össze, ezek persze kiterjeszthetők/lecsökkenthetők. -
stivi1g
tag
Hello!
A következő összetettebb problémára keresnék megoldást,
Azt szeretném, ha itt beírom azt a szót, az adott dátum oszlop megfelelő rendszám sorába, hogy „tartalék” akkor a mellette lévő rendszám összesítőben automatikusan kiírja a sorhoz tartozó első oszlopban lévő rendszámot.
Remélem érthető voltam.
Köszönöm a válaszokat mellékeltem egy képet, hogy mire is gondolok.Remélem nem kérek sokat
-
bsh
addikt
válasz
Delila_1 #29967 üzenetére
én így oldottam meg:
ez a K oszlop (cikkszám) alapján dolgozik, mivel ahogy látom, a megnevezés (B oszlop) lehet eltérő is ugyanahhoz a cikkszámhoz. (emiatt veszélyes is a makróm, mert törli a sorokat, és a többféle megnevezésekből csak az első marad meg, a többi elvész)
Sub flt()
lastrow = Me.UsedRange.Rows(Me.UsedRange.Rows.Count).Row
Call Me.UsedRange.Sort(Me.Columns("K:K"), xlAscending, Header:=xlYes)
i = 2
While i <= lastrow
o = 1
While Me.Cells(i, 11) = Me.Cells(i + 1, 11)
'kategóriák külön oszlopokba (AE, AF, AG, stb.)
Me.Cells(i, 30 + o) = Me.Cells(i + 1, 30)
'vagy kategóriák AD oszlopba, vesszővel elválasztva
'Me.Cells(i, 30) = Me.Cells(i, 30) & ", " & Me.Cells(i + 1, 30)
Me.Rows(i + 1).Delete
o = o + 1
lastrow = lastrow - 1
Wend
i = i + 1
Wend
End Sub -
Delila_1
veterán
A rendezett lapon kell futtatnod a makrót.
A makró elején a B és az AD oszlop adataiból törlöm a felesleges, ismétlődő adatokat, hogy tisztább legyen a kép, majd az AD oszlopban – vesszővel elválasztva – gyűjtöm kategóriákat.
A Sheets("Munka1").Select sorban a Munka1 helyére a saját lapod nevét írd be.Sub Tisztitas()
Dim sor As Long, usor As Long
'Előkészítés
Sheets("Munka1").Select 'Ide a saját lapod nevét írd be
usor = Range("A" & Rows.Count).End(xlUp).Row
Range("AJ2:AJ" & usor).FormulaR1C1 = "=LEFT(RC[-34],SEARCH("")"",RC[-34]))"
Range("AJ2:AJ" & usor).Copy
Range("B2").PasteSpecial xlPasteValues
Range("AJ2:AJ" & usor) = ""
With Columns("AD:AD")
.Replace What:="Transpak alkatrészek>>", Replacement:=""
.Replace What:=">>", Replacement:=""
End With
'Sortörlés
For sor = usor To 2 Step -1
If Cells(sor, "K") = Cells(sor - 1, "K") Then
Cells(sor - 1, "AD") = Cells(sor - 1, "AD") & "," & Cells(sor, "AD")
Rows(sor).Delete Shift:=xlUp
End If
Next
End Sub -
biker
nagyúr
támadt egy összetett problémám
mint mindig, összetett...
adott egy terméklista (webshop)
a régi shopban csomo ismétlődés lehet, mert ugyanaz a termék több kategóriában is volt. ha sorba rendezem névre vagy cikkszámra, látom, hogy akár 5-8 egyező cikk, mind más kategória név alatt.
ok, ezekből kellene olyat, hogy:
- egy trmék egy sor maradjon
- abba a terméksorba szedje össze az összes többi kategóriát: kat1, kat2, kat3
ilyen lehetséges excelben, vagy inkább toljam vissza sql-be, és ott bizergessem?
minta itt: [link] -
bsh
addikt
válasz
lizakattila #29963 üzenetére
ilyesmi? biztos van egyszerűbb is.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
For Each Item In Target.Cells
If Item.Column = 15 Then
If Item = "" Then
Cells(Item.Row, 1) = ""
Else
Cells(Item.Row, 1) = Now()
End If
End If
Next
Application.EnableEvents = True
End Sub -
Delila_1
veterán
válasz
lizakattila #29963 üzenetére
Range(Target.Address).Offset(0, -14) = Now()
-
lizakattila
senior tag
Sziasztok!
Van egy makróm, amely a következő képpen néz ki:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 15 Then Exit Sub
If Target.Value <> "" Then
Application.EnableEvents = False
Target.Offset(0, -14).Value = Now()
Application.EnableEvents = True
End If
End SubEz az "A" oszlopba akkor írja be a most függvényt, ha az "O" oszlopban lévő cellába írok be értéket.
Meg lehet azt oldani valahogy, hogy akkor is működjön, ha az "O" oszlopba egyszerre több cellába is írok vagy legfőbbként másolok be adatot?
Mert ez így csak akkor működik, ha az O oszlop celláit egyenként töltöm. -
PETEE78
senior tag
válasz
dellfanboy #29961 üzenetére
esetleg újraszínezés? kép formázása/kép színe/újraszínezés
-
dellfanboy
őstag
-
PETEE78
senior tag
válasz
dellfanboy #29959 üzenetére
-
dellfanboy
őstag
Van egy tablazatom ami 5 sorbol valamint 12 oszlopbol (honapok)all. Van egy kepem amit szeretnek a tablazat moge tenni atlatszosan. Ezt hogy tudom megcsinalni? Nem elofejet akarom modositani mert a munkalapomon tobb tablazat van ami moge kepet szeretnek tenni, hogy a szamok latszodjanak a kep pedig mint egy vizjel legyen a szamok mogott..
koszi -
asuspc96
senior tag
Helló!
Nem nagyon szoktam excel-ben akármilyen tevékenységet is folytatni (sőt inkább semmilyent
), elég kezdő kérdéssel fordulnék hozzátok, milyen összetett képletekkel tudom megvizsgálni azt, hogy egy adott cellatartományban egy adott feltételnek megfelelő cellák száma ?
pl:
1, 2, 3, 5, 2, 4, 6, ..., 9, 8 (hány db 2-es volt benne ? => 2db )előre is köszi !
-
Delila_1
veterán
válasz
poffsoft #29953 üzenetére
Rendben.
Sub dolgozik()
' Billentyűparancs: Ctrl+d
ActiveCell = "dolgozik"
ActiveCell.Offset(1,0).Select
End SubAz Offset függvény, mint a magyar neve (eltolás) is mutatja, az aktív helytől – vagy a megjelölttől, pl. range("B5").offset(...,...) – való eltolást mutatja. Ha mindkét paraméter 0, akkor helyben topogunk, gyakorlatilag 0 az eltolás.
-
szabonagyur
félisten
Sziasztok
Alap szintű VB tanulására adnám a fejem, mit javasoltok miből érdemes? Jó lenne olyan ami eléggé részletes, akár példákkal stb, ár nem számít
-
Fferi50
Topikgazda
válasz
DisRespect #29947 üzenetére
-
poffsoft
veterán
válasz
stivi1g #29944 üzenetére
Igen,
elvileg az (1,0) az egy sorral lejjebbi lenne,
ezért változtasd a számokat nyugodtan, amíg jó nem lesz. -
stivi1g
tag
Sziasztok! Teljesen amatőr vagyok a témában..
A következő lenne a gondom. (Excel 2010. hun)
Lére hoztam makrókat, amik billentyű parancsra szöveget ír az adott cellába. Idáig minden rendben is van viszont azt szeretném ha a beírás után a következő cellára ugrana a kijelölés. A makró rögzítés adott cellákat ír bele nekem a kódba.
PL:
----------------------------------------------------------------------------------------------------------------------------------------------------------
Sub minta()
'
' minta Makró
'
' Billentyűparancs: Ctrl+m
'
Range("H34").Select
ActiveCell.FormulaR1C1 = "minta"
Range("H35").Select
End Sub
------------------------------------------------------------------------------------------------------------------------------------------------------------
Ezt már sikerült úgy módosítanom hogy mindig ott maradjon a kijelölés az adott cellán
------------------------------------------------------------------------------------------------------------------------------------------------------------
Sub dolgozik()
'
' Makró7 Makró
'
' Billentyűparancs: Ctrl+d
'
ActiveCell.FormulaR1C1 = "dolgozik"
ActiveCell.Select
End Sub
------------------------------------------------------------------------------------------------------------------------------------------------------------
Tehát a konkrét kérdésem az, hogy mit kell az ActiveCell.select helyére írnom, hogy mindig a következő cella legyen aktív a beírás után?
A válaszokat előre is köszönöm
stivi -
Delila_1
veterán
válasz
Pilács #29940 üzenetére
Feltételezem, hogy az "egyik oszlop" a C, ez az oszlop tartalmaz címsort, és hogy a képek és az útvonaluk folyamatosan követik egymást, üres sorok nélkül.
A makró a bemásolt képek magasságát a sorok magasságához igazítja, és a méretarányt az eredetihez képest megtartja.
Sub kepek()
Dim sor As Long, usor As Long
usor = Range("C" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
Range("D" & sor).Select
ActiveSheet.Pictures.Insert(Range("C" & sor)).Select
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = Rows(sor).Height
Next
Columns(3).Delete Shift:=xlToLeft
End Sub -
Pilács
senior tag
Sziasztok!
Segítéget szeretnék kérni:
Adott egy Excel táblázat, az egyik oszlopát feltöltöm a képek teljel elérési útjával, pl
D:\kepek\a.jpg
D:\kepek\b.jpg
D:\kepek\k.jpg
D:\kepek\e.jpgSzeretném ha a mellette lévő oszlopban ezek a képek meg is jelennének, esetleg a linkek pedig törlődnének.
(A képek linkjei az adott sorhoz tartoznak, nem dobálhatóak be pl névsor szerint)
Milyen megoldás(ok) vannak erre? Bízom benne, hogy van rá megoldás.
Köszönöm!
-
Fferi50
Topikgazda
válasz
DisRespect #29938 üzenetére
Szia!
Talán próbálkozhatnál a feltételes formázással. A hét napjait a Hét.napja (Weekday) függvény adja meg, ezt kell a feltételes formázásba bevinni. Cellák kijelölése képlettel lehetőséget kell választani.
Üdv.
-
DisRespect
csendes tag
válasz
DisRespect #29912 üzenetére
Akkor ezek szerint ti se tudjátok.
-
Fferi50
Topikgazda
válasz
dellfanboy #29935 üzenetére
Szia!
A végeredményben nem látom, hogy összegezve lennének az értékek. Ez nem kellene?
Egyébként javaslom a kimutatás készítését - szerintem az megoldja a kérdéseidet.
Üdv.
-
sztanozs
veterán
válasz
dellfanboy #29935 üzenetére
Kicsit barbár, de én ezt csinálnám elsőre, makróval:
- Cégnév mezőből kiszűrni az egyedi neveket
- végigiterálni a neveken
-- programozottan leszűrni a táblát a cégre
-- a leszűrt táblából a kívánt részt kikopizni és beilleszteni egy új munkalapraKb ennyi. Ehez még célszerűcsinálni egy template sheet-et és annak a másolatába másolni az eredményt érték szerint.
-
dellfanboy
őstag
akad egy ilyen problemam[problem]
tabla1-bol kellene a vegeredmenyt eloallitanom. idaig ugy oldottam meg hogy elso lepesben leszurtem pp id-ra hogy csak az egyik legyen a tablaba, majd ceg id alapjan kitoltottam a vegeredmeny tablat. a kerdesem hogy van erre tippetek, hogy tudnam automatizalni es bolondbiztossa tenni?
-
m.zmrzlina
senior tag
válasz
m.zmrzlina #29933 üzenetére
helyesbítés: (lejárt a szerk. idő)
a "Ha jól értem a feladatot van öt terület," helyesen
Ha jól értem a feladatot van három terület,
-
m.zmrzlina
senior tag
Ha jól értem a feladatot van öt terület, mindegyiken öt csoport dolgozik. Egymás munkáját kell leellenőrizniük, sajátjukat nem lehet. Az hogy melyik műszak az most mindegy, egymástól függetlenül lehet kezelni.
Az én táblázatom így néz ki:
A hozzá való makró (magyarázattal) pedig így:
Sub kioszt()
For i = 2 To 52 'a 2.-tól az 52. hétig
For j = 2 To 16 '15 csoportot oszt be
Do
Do
vel_szam = Int(15 * Rnd) + 1 'válasszunk ki egy tetszőleges csoportot
Loop While vel_szam + 1 = j 'de ne az legyen amelyikhez ellenőr csoportot akaronk rendelni (lásd 2. mondat)
If j = 15 And Application.WorksheetFunction.CountIf(Range(Cells(1, i + 2), Cells(j - 1, i + 2)), Cells(16, 3).Value) = 0 Then
'ha a kék_5 nevű csoport még nincs beosztva legkésőbb utolsó előttiként beosztjuk
Cells(j, i + 2).Value = Cells(16, 3).Value
Else
'egyébként véletlenszerűen kapja mindenki a beosztását :-)
Cells(j, i + 2).Value = Cells(vel_szam + 1, 3).Value '
End If
'ha már be van osztva a kiválasztott csoport válasszunk másikat
Loop While Application.WorksheetFunction.CountIf(Range(Cells(1, i + 2), Cells(j - 1, i + 2)), Cells(j, i + 2).Value) = 1
Next
Next
End SubAz a két ronda munkalapfüggvény ott a makróban nem túl elegáns de hirtelen nem jutott jobb az eszembe.
A 6. hét után természetesen még folytatódik a táblázat.
Egy szépséghibája van ennek a megoldásnak, hogy a kék_5-ös csoport a véletlennél egy kicsit nagyobb eséllyel fog a kék_4-es csoporthoz beosztódni ellenőrnek. -
Delila_1
veterán
válasz
firemanus82 #29923 üzenetére
Az Fferiétől kicsit eltérő megoldást javaslok – nem mintha az övével valami baj lenne, csak minden feladatnak számtalan megoldása lehetséges.
Mivel elég körülményes a leírás, inkább csatolom a füzetet.
2 makró van benne, az elsőt a ThisWorkbook laphoz rendeltem. Ez másolja az eredeti neveket az M oszlopba a K-ból a füzet megnyitásakor. Az M2:Makárhány tartománynak a Nevek nevet adtam. Ez a forrása a beviteli celláknak.
A másik makrót a Munka1 laphoz rendeltem. Mikor valamelyik érvényesítésben (B2, C2, D2) kiválasztasz egy nevet, az M oszlopban lévők közül törli azt.
Ha újra az összes nevet akarod látni az M oszlopban, a ThisWorkbook laphoz rendelt makrót kell indítanod, vagy egyszerűen átmásolod a neveket K2-től az M2-be.
-
Fferi50
Topikgazda
válasz
firemanus82 #29928 üzenetére
Szia!
Gondolom, akkor a kiválasztott nevet valahova máshova beírod (képlettel v. makróval - ez utóbbi a jobb eset). Az adatérvényesítési listád pedig egy külön tartományban van. Az eredeti listádat másold le egy másik helyre.
Ebben az esetben egy kis makróval, ami a kiválasztáshoz kapcsolódik, kitörölheted a listából a kiválasztott nevet.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$1" Then
Application.EnableEvents = False
Range(Target.Validation.Formula1).Find(what:=Target, LookIn:=xlValues, lookat:=xlWhole).Delete shift:=xlUp
Application.EnableEvents = True
End If
End SubA fenti makró a H1 cellában levő érvényesítés listájából törli a kiválasztott elemet. Ha az érvényesítési listát a következő formában adod meg: =$A$1:$A40 - vagyis a sor száma nem abszolút módon van megadva - akkor az érvényesítési lista tartománya automatikusan módosul, nem marad benne üres sor.
Természetesen a fenti pár sort (3-5) beteheted abba a saját makróba, amelyik a kiválasztott adatot beírja a megfelelő hely(ek)re.
Üdv.
-
firemanus82
senior tag
válasz
m.zmrzlina #29925 üzenetére
Bocsánat, nem írtam le. Szóval legördülő menűben (adatérvényesítéssel) van a névsor. És abból szeretném kiválasztani az embereket.
-
m.zmrzlina
senior tag
válasz
firemanus82 #29923 üzenetére
Mit értesz azon, hogy "kiválasztom"? Hogyan történik a kiválasztás?
-
Dr V
őstag
Eegy kicsit egyszerűbben leírom a problémámat, hátha úgy könnyebben kapok rá megoldást:
Egy listát kell véletlenszerűen értékekhez hozzárendelnem. Ami fontos, h a lisátban szereplő adatok csak 1szer fordulhatnak elő. Ezért nem jó a rand és a randbetween használata, mert ott többször is elő tud fordulni egy szám (eddig próbálkozásaim alapján). -
firemanus82
senior tag
Sziasztok!
Egy kis segítségre lenne szükségem. Valószínű baromi egyszerű megoldás van rá, csak én nem találom. Tehát abban kérnék segítséget, hogy van egy névsorom. A névsorból ha kiválasztok egy nevet, utána már a többi helyen ne legyen a listába, tehát ne lehessen többször ugyanazt a személyt kiválasztani.
Köszönöm!
-
m.zmrzlina
senior tag
válasz
dellfanboy #29921 üzenetére
-
dellfanboy
őstag
válasz
m.zmrzlina #29920 üzenetére
-
m.zmrzlina
senior tag
válasz
dellfanboy #29919 üzenetére
A filter az szűrést jelent, neked rendezés kell. Az angol verzióban talán Sort. A képen bekarikázva az ikonja.
-
dellfanboy
őstag
válasz
m.zmrzlina #29908 üzenetére
koszi ez jonak tunik de az angol excelben sehogy se tudom elohivni ezt a menut.. hol talalom?filter -advance tok mas on fel..
-
bara17
tag
Sziasztok!
Magyar Excel 2010-et használok és nem találok olyan függvényt amely kiszámolja a tangens inverzét. Létezik ilyen?
Köszönöm előre is.
-
-
Delila_1
veterán
válasz
huliganboy #29911 üzenetére
Nem tudom, a C oszlopban meghagyandó adat szöveges, vagy szám típusú, ezért mindkettőre rákérdezek.
A makró
Sub Kigyomlal()
Dim sor As Long, usor As Long, marad, eddig As Long
marad = InputBox("Melyik adat maradjon meg a C oszlopban?")
Application.ScreenUpdating = False
usor = Range("C" & Rows.Count).End(xlUp).Row
For sor = usor To 2 Step -1
eddig = Range("C" & Rows.Count).End(xlUp).Row
If Cells(sor, "C") = marad Or Cells(sor, "C") = marad * 1 Then GoTo Tovabb
If Application.WorksheetFunction.CountIf(Range("C2:C" & eddig), Cells(sor, "C")) > 1 Then _
Rows(sor).Delete Shift:=xlUp
Tovabb:
Next
Application.ScreenUpdating = True
End Sub -
DisRespect
csendes tag
Sziasztok!
Segítségre lenne szükségem.
Van egy öröknaptár amibe be kellene raknom a műszak modellem. Tehát az adott napokat a megfelelő szinre kéne színezze a dátumnak megfelelően. Van erre valami képlet/fügvény stb.? Ja hogy ne legyen egyszerű, nem egy átlagos műszak, 6 hetente ismétlődik. -
huliganboy
addikt
Szerintetek ez miért nem működik nekem? Egy oldalon találtam, azt hittem megoldás a problémámra.
Feladat: C oszlop második cellájától a cellákban levő értékeket vizsgálni, és ha van azonos akkor a hozzá tartozó sorokat törölni, egy kivételével!
Sub RemoveDuplicatesCells_EntireRow()
'PURPOSE: Remove the entire row of duplicate cell values within a selected cell range
'SOURCE: www.TheSpreadsheetGuru.com
Dim rng As Range
Dim x As Integer
'Optimize code execution speed
Application.ScreenUpdating = False
'Determine range to look at from user's selection
On Error GoTo InvalidSelection
Set rng = Selection
On Error GoTo 0
'Ask user which column to look at when analyzing duplicates
On Error GoTo InputCancel
x = InputBox("Which column should I look at? (Number only!)", _
"Select A Column", 1)
On Error GoTo 0
'Optimize code execution speed
Application.Calculation = xlCalculationManual
'Remove entire row if duplicate is found
rng.EntireRow.RemoveDuplicates Columns:=x
'Change calculation setting to Automatic
Application.Calculation = xlCalculationAutomatic
Exit Sub
'ERROR HANDLING
InvalidSelection:
MsgBox "You selection is not valid", vbInformation
Exit Sub
InputCancel:
End SubKöszi!
-
m.zmrzlina
senior tag
válasz
dellfanboy #29907 üzenetére
A képen a kétszintű rendezés konfigja látszik. Az első szint Sorrendjénél az Egyéni listát kell választani ahol ki lehet választani a hét napjait. Ha az igazi munkalapodon is ékezetek nélkül szerepelnek a napok akkor előbb létre kell hozni az ékezet nélküli egyéni "hét napjai" listát és azt kell kiválasztani.
-
dellfanboy
őstag
van egy adathalmazom es szeretnem rendezni a sorokat.elso korben rarakom a szurot es datum szerint sorba allitom.
ez ok. viszont masodik lepesben a datum mellett levo tipus szerint is szeretnem rendezni(a datum szerinti sorrend valtozatlan maradasa mellett), ugy hogy a jelenlegi mar sorbaallitott datum mezo nem valtozik. ezt hogy tudom megcsinalni?pl. van egy ilyen halmazom
hetfo automata
kedd manualis
hetfo felautomata
szerda automata
hetfo felautomata
kedd automata
csutortok automata
pentek automatilyet szeretnek
hetfo automata
hetfo felautomata
hetfo manualis
kedd automata
kedd manualis
szerda automata
csutortok automata
pentep automat -
Kommy
veterán
Sziasztok!
Egy olyan kérdésem lenne, hogy lehetséges e olyat csinálni, hogy van egy cella két számot írok bele és ő átalakítsa a következőre: "szám1 Ft / Szám2 Ft" idézőjelek nélkül.
-
Dr V
őstag
Sziasztok!
Segítségre lenne szükségem.
Angol nyelvű 2013asa officeval dolgozom.
Egy táblázatba a műszakok számára kell kijelölnöm véletlenszerűen ellenőrizendő területeket. A területeken 2 és 3 műszakban dolgoznak. Egy terület egy műszakon belül csak egyszer fordulhat elő. Az éjszakás műszak értelem szerűen nem ellenőrizhet olyan területet, ahol éppen nincs termelés. Mindezt véletlen szerűen kell megcsinálnom 1 évre előre. (ha úgy érthetőbb emberekhez kell rendelnem területeket, ami műszakonta 1szer fordulhat elő és a műszakrendet is figyelembe kell venni a leosztáskor)
Ezt hogy lehetne a legegyszerűbben megcsinálni? A RANDBETWEEN+VLOOKUP nem jó, mert egy szám többször is szerepel. -
m.zmrzlina
senior tag
válasz
m.zmrzlina #29903 üzenetére
Egy fokkal talán jobb ez a megoldás:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
Cells.Font.ColorIndex = xlAutomatic
ActiveCell.EntireRow.Interior.ColorIndex = 1
ActiveCell.EntireRow.Font.ColorIndex = 2
End Sub -
m.zmrzlina
senior tag
Egy biztonsági mentés egyik munkalapjához rendeld az alábbi makrót. Ha ilyenre gondoltál akkor tovább lehet gondolni a megoldást. Ha vannak a munkalapon cellaháttér és betűszín beállítások akkor persze bonyolultabb lesz a dolog.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = 2
Cells.Font.ColorIndex = 1
ActiveCell.EntireRow.Interior.ColorIndex = 1
ActiveCell.EntireRow.Font.ColorIndex = 2
End Sub -
huliganboy
addikt
válasz
huliganboy #29900 üzenetére
Végül ez lett a megoldás...
Sub ttt()
mappak = Array ' Nálad persze más és más
' lehet egy dir("e:",vbdirectory) a feltöltésben, ha egy mappán belül vannak.
For Each mappa In mappak
Set uj = Workbooks.Add
fajl = Dir(mappa & "*.xls")
celsor = 1
Do While fajl <> ""
Workbooks.Open Filename:=mappa & fajl, ReadOnly:=True
sor = Range("a1").SpecialCells(xlLastCell).Row
If celsor = 1 Then
Range("a1", Range("a1").SpecialCells(xlLastCell)).Copy uj.Sheets(1).Cells(celsor, 1)
celsor = celsor + sor
Else
Range("a2", Range("a1").SpecialCells(xlLastCell)).Copy uj.Sheets(1).Cells(celsor, 1)
celsor = celsor + sor - 1
End If
ActiveWorkbook.Close False
fajl = Dir()
Loop
uj.SaveAs mappa & "eredmeny.xls"
'uj.Close False
Next
MsgBox "Kész"
End SubViszont még ebbe bele kellene aplikálni, hogy a C oszlopban azonos sorokat törölje illetve a megadott oszlopokat is törölje!!
[ Módosította: CoolMan ]
-
deter
aktív tag
Sziasztok!
Egy viszonylag alap kérdésem lenne. Hogyan lehet kurzor megjelenésén módósítani? Hasonló lenne az optimális, mint Total Commandernél az inverz kurzor? Tehát amikor sorok között lépkedek az adott sor, az jelenetősen elkülönüljön a többitől?
üdv_
deter
Új hozzászólás Aktív témák
Hirdetés
- Samsung Galaxy Watch7 - kötelező kör
- Kompakt vízhűtés
- Debrecen és környéke adok-veszek-beszélgetek
- Melyik tápegységet vegyem?
- VoLTE/VoWiFi
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- AMD vs. INTEL vs. NVIDIA
- Kerékpárosok, bringások ide!
- Projektor topic
- Posta, csomagküldés
- További aktív témák...
- Assassin's Creed Shadows Collector's Edition PC
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- DELL Universal Dock D6000 docking station (452-BCYH) (DisplayLink)
- Medion Erazer Beast X40-hez vízhűtés (MD 60961) (ELKELT)
- AKCÓÓÓ!!! Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló
- BESZÁMÍTÁS! 1TB Kingston KC3000 NVMe SSD meghajtó garanciával hibátlan működéssel
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest