- Android alkalmazások - szoftver kibeszélő topik
- Huawei Mate X6 - keleti oldal, nyugati oldal
- Honor 400 Pro - gép a képben
- Samsung Galaxy S24 FE - később
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Honor Magic6 Pro - kör közepén számok
- Sony Xperia 1 V - kizárólag igényeseknek
- VoLTE/VoWiFi
- Google Pixel topik
- Netfone
-
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
-
válasz
pitman #14342 üzenetére
Ezt csak makróval lehet.
Amice
Function FSCD_Generator() As Variant
Dim NumberOfDigits As Integer, RNDRange As Integer, MyIndex As Integer
Dim MyDigits As Variant, MyNumber As Variant
MyDigits = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
'Hány számjegyű legyen a generált szám
'(10 számjegyűnél nem lehet több, mert akkor biztosan ismétlődik legalább 1 számjegy)
NumberOfDigits = 8
If NumberOfDigits < 1 Or NumberOfDigits > 10 Then
FSCD_Generator = "A számjegyek száma 1 és 10 közé kell, hogy essen!"
Exit Function
End If
RNDRange = UBound(MyDigits)
MyNumber = ""
For i = 0 To NumberOfDigits - 1
MyIndex = WorksheetFunction.RandBetween(0, RNDRange)
MyNumber = MyNumber + MyDigits(MyIndex)
If MyIndex <> RNDRange Then
For j = MyIndex To RNDRange - 1
MyDigits(j) = MyDigits(j + 1)
Next j
End If
RNDRange = RNDRange - 1
Next i
FSCD_Generator = MyNumber
End Function -
m.zmrzlina
senior tag
válasz
pitman #11307 üzenetére
Ha erre gondolsz, akkor az ActiveSheet.Name helyett próbálj meg Sh.Name-t használni.
Így:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "A(z) " & Sh.Name & " munkalapon a " & Target.Row & ". sor és a(z) " & Target.Column & ". oszlop" & Chr(10) & " metszéspontjában lévő cella módosult!"
End SubNem használtam még ezt a módszert de az argumentumokból ez következik.
-
m.zmrzlina
senior tag
válasz
pitman #11240 üzenetére
Vagy én értek valamit félre vagy te. Nekem a másik feltétel is működik:
Ha üres cellát is el lehet fogadni az 1 vagy 2 helyett akkor módosítani kell a képletet:
=VAGY(HA(ÉS(B1<>"M";SZÁM(HOL.VAN(B2;H2:I2;0)));VAGY(B5=1;B5=""));HA(ÉS(B1="M";SZÁM(HOL.VAN(B2;J2:K2;0)));VAGY(B5=2;B5="")))
Az elírást én is észrevettem a képletet is ennek figyelembe vételével csináltam meg.
-
m.zmrzlina
senior tag
válasz
pitman #11231 üzenetére
Én is ezen gondolkoztam, hogy viszonylag jól körülhatárolt feltételek alapján lehet a bevihető adat 1 vagy 2 akkor minek az érvényesítés de ha ez kell ám legyen.
Ezt tedd a képletbe:
=VAGY(HA(ÉS(B1<>"M";SZÁM(HOL.VAN(B2;H2:I2;0)));B5=1);HA(ÉS(B1="M";SZÁM(HOL.VAN(B2;J2:K2;0)));B5=2))
A kérdés második felére:
Van a Workbook objektumnak SheetChange eseménye:Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "A(z) " & ActiveSheet.Name & " munkalapon a " & Target.Row & ". sor és a(z) " & Target.Column & ". oszlop" & Chr(10) & " metszéspontjában lévő cella módosult!"
End SubSosem használtam még de kipróbáltam és úgy tűnik működik.
Jobbklikk a ThisWorkbook-on majd View Code helyre másolni. -
Delila_1
veterán
válasz
pitman #11231 üzenetére
Már csak azt nem értem, mi az
-nek érvényesítés! Egy szép hosszú, egészséges képlettel be tudod íratni a B5-be az 1-et, vagy 2-t. A felhasználó úgyis csak azt választhatná a két érték közül, ami a B1 és a B2 értéke szerint 1, vagy 2.
=HA(ÉS(B1<>"M";SZÁM(HOL.VAN(B2;H2:I2;0)));1;HA(ÉS(B1="M";SZÁM(HOL.VAN(B2;J2:K2;0)));2;""))
Ha egyik feltétel sem igaz, akkor üres string kerül a B5-be.
A B6-ban az =B5=1 képlet IGAZ eredményt ad, ha valóban egyenlő a B5 1-gyel, minden más esetben HAMIS lesz az értéke. Nem tudom erre van-e szükség.
-
m.zmrzlina
senior tag
válasz
pitman #11229 üzenetére
A kérdésed első részét légy szíves illusztráld képpel és a kérdéses fv-nyel mert így az az érzésem, hogy nagyon messziről fogunk nekiindulni.
A változtatott cella sorát a Target.Row-val az oszlopát a Target.Column-nal tudod lekérdezni.
Pl:Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "A(z) " & Target.Row & ". sor és a(z) " & Target.Column & ". oszlop" & Chr(10) & " metszéspontjában lévő cella módosult!"
End SubArra figyelj, hogy ezt nem új modulba kell másolni, hanem ahhoz a munkalaphoz kell rendelni amin a változást akarod figyelni. Jobbkatt a munkalap fülön majd Kód megjelenítése opció.
Biztos van más módszer is, én így szoktam csinálni.
-
m.zmrzlina
senior tag
-
Fehér Mancs
tag
válasz
pitman #11194 üzenetére
Makró nélkül szerintem nem lehet megoldani, legpraktikusabb megoldás a reguláris kifejezések használata:
Ezt először aktiválni kell a VBA-ban (Microsoft VBScript Regular Expressions 5.5 -> aktiválás leírása pl.: http://lispy.wordpress.com/2008/10/17/using-regex-functions-in-excel/ )
Ezután pedig egyszerű makró közbeiktatásával lehet használni az excelben is függvényként:
pl.:
makró:
Dim reg As New RegExp
Public Function RegExpLike(Source As Range, Pattern As String, Optional IgnoreCase As Boolean = True, Optional MultiLine As Boolean = True) As Boolean
reg.IgnoreCase = IgnoreCase
reg.MultiLine = MultiLine
reg.Pattern = Pattern
RegExpLike = reg.Test(Source.Value)
End FunctionAz excel függvény, ami ellenőrzi, hogy az adott cellában alfanumerikus karakter van (ékezetes betűkkel megspékelve):
=RegExpLike(A1;"^[A-Z0-9ÁÉÍÓÖŐÚÜŰ]*$")Szinte bármilyen minta keresésére, cseréjére, számolgatására fel lehet használni, neten jó leírások vannak erről.
-
Delila_1
veterán
-
m.zmrzlina
senior tag
válasz
pitman #11198 üzenetére
Én úgy adnám meg a feltételt adatérvényesítésben, hogy a "Megengedve" opciónál nem a "Lista"-t választanám ki hanem az "Egyéni"-t
Itt képlettel a következőképpen adhatod meg, hogy mit fogadsz el bevitelként:
=VAGY(SZÁM(I1);SZÁM(HOL.VAN(I1;$M$6:$M$11;0)))
A fenti képlet I1-be számot és olyan karaktersorozatot enged ami az M6:M11 tartományban benne van. Ugyanis a HOL.VAN() #HIÁNYZIK-ot (hibát és nem számot) ad vissza ha a keresési érték nem szerepel a táblázatban.
Ha a SZÁM() és a HOL.VAN()első argumentuma relatív hivatkozással van megadva (pl I1) akkor nyugodtan másolhatod az adatérvényesítést az összes érintett celládba, működni fog.
-
Delila_1
veterán
válasz
pitman #11196 üzenetére
Úgy látom, titok, melyik Excelt alkalmazod.
Ha nem akarsz nagy területet feltételesen formázni, lehet egy makrót rendelni a lapodhoz, ami figyeli a bevitt értékeket, és azoknak megfelelően formázza a cellákat.
A makróhoz szükséges tudni, hova akarod bevinni korlátozottan az adatokat, melyek legyenek a megengedett értékek, melyik értékhez milyen formátumot szeretnél megadni, és hogy a bevitt érték celláját, vagy másikat formázzon-e.
Új hozzászólás Aktív témák
Hirdetés
- Android alkalmazások - szoftver kibeszélő topik
- Luck Dragon: Asszociációs játék. :)
- Hálózati / IP kamera
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- Anime filmek és sorozatok
- Amlogic S905, S912 processzoros készülékek
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
- Milyen légkondit a lakásba?
- Huawei Mate X6 - keleti oldal, nyugati oldal
- Automobilista 2
- További aktív témák...
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Eladó Steam kulcsok kedvező áron!
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Bomba ár! Fujitsu LifeBook E754 - i5-4GEN I 8GB I 256SSD I 15,6" HD I HDMI I W10 I Garancia!
- LG 55B4 - 55" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- REFURBISHED - HP USB-C Universal Dock G1 docking station (DisplayLink)
- LG 65C2 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged