- ASUS Vivobook Snapdragonnal: talán egy új korszak kezdete!
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Samsung LCD és LED TV-k
- Milyen TV-t vegyek?
- Apple notebookok
- Bambu Lab X1/X1C, P1P-P1S és A1 mini tulajok
- Vezetékes FÜLhallgatók
- Projektor topic
Hirdetés
-
Az USA tisztifőorvosa figyelmeztető címkét ragasztana a közösségi médiára
it Figyelmeztető címkéket szeretne látni az USA tisztifőorvosa a közösségi médiában, ami főleg a serdülők számára lenne emlékeztető a platformok súlyosan káros hatásairól.
-
Fülhallgatók is érkeztek a Reno12 szériával
ma És persze az Oppo okosórája is, lásd előző bejegyzés. A muzikális élményt az Enco X3i és az Enco Air4 Pro szolgáltatja.
-
Steet Fighter 6 - Hosszabb bemutatón M. Bison
gp Kevesebb mint egy hét múlva végre elérhető lesz a játékban az új karakter.
-
PROHARDVER!
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
-
KBaj
kezdő
válasz Fferi50 #45401 üzenetére
Kedves Fferi50
Korábbi bejegyzésem szerinti hibát keresem: „Miszerint egy darabig a VB végrehajtja az utasításokat és adott sortól egyszerűen otthagyja a programot, visszatér az munkalaphoz, mintha egy END SUB-ot kapott volna.” Igaz módosítottam egy kicsit: a Cikl változóra később lesz szűkségem.Cells(6, Előford + 1) = Cells(5, Előford + 1)
'Cells(6, Előford + 1) = Cikl
Mindig a „Cells(6,….)=Cells(5,….)” sornál száll ki. Nem hajtja végre, pedig minden szükséges paramétere ismert, számszerűleg meghatározott.
Igaz, ha a Cells(6,…) cella megváltozna, kiváltana egy újraszámolási Excel műveletet, de ez a program elején az alábbiak szerint Call kep_ki rutinnal ki van kapcsolva:
Sub kep_ki()
Application.ScreenUpdating = False
Application.CutCopyMode = False
Application.Calculation = xlCalculationManual
End Sub
Nem értem miért hagyja ott a rá bízott feladatot (ez nem számítógéphez méltó viselkedés) és mintha mi sem történt volna, visszatér oda ahonnan ideküldték. Rejtély.
Beszúrtam egy kísérleti sort a Kezd változó meghatározása után Cells(6, Kezd + 10) = Kezd. És most már innen szállt ki. Tehát NEM tudja végrehajtani a cellába írást? Ne feledjük Függvény rutinban vagyunk.
Tovább keresek.
Üdvözlettel:
KBaj -
KBaj
kezdő
válasz Fferi50 #45403 üzenetére
Úgy látom váltanom kell a lapon alkalmazott stílusra.
Szia!
Milyen számításra gondolsz? Én még mindig a korábbi megfigyelésemnél tartok: "És most már innen szállt ki. Tehát NEM tudja végrehajtani a cellába írást?".
Ne haragudj ezért a kérdésemért, de én korábban nem ilyen nyelvi környezetben éltem: mi az a privi?
Üdv. -
Fferi50
őstag
Szia!
mi az a privi?
Privát üzenet - amit csak te látsz a belépés után a levél ikonra kattintva.
Tehát NEM tudja végrehajtani a cellába írást?
Nem feltétlenül ott van a hiba, amit nem hajt végre. Máshol is lehet.
Nézd meg a privát üzeneted légy szíves.
Üdv.
Ps. Bocs, de itt általában tegeződünk... kortól és nemtől függetlenül. És ez nem a tiszteletlenség jele, sőt. -
KBaj
kezdő
válasz Fferi50 #45409 üzenetére
Szia!
Hát igen. Korábbi VBA kísérleteimnél többször kaptam Next hibáról hibajelentést. Nem találtam a hibát. Minden For-nak meg volt a párja, le is rajzoltam a kapcsolódásokat. Már lassan ott tartottam, hogy hozom a fejszét és belevágom. Míg egyszer rájöttem. Találtam egy End nélküli If-et. Hát ez a baj. De akkor miért ír Next hibát? ..... Azóta ilyen hibára a keresést End hiányával kezdem. .... Magamban levontam a következtetést: MS-ék a VBa Help rendszerét nem elég mélyen csinálták meg. Lásd most is: a hibán átlépett, mintha minden rendben lenne és az ember azt hiszi mindent elvégzett, amit a programban előírtunk neki. Azóta minden hibajelentést fenntartással fogadok, nem biztos, hogy az a hiba ami le van írva. Tanultam: Ahogy tanácsoltad, hibakezelési sort érdemes beépíteni.
A mostani hibával kapcsolatban: a számításokat nagyrészt a munkalapon munkalapfüggvények végzik, a VBA kisebb számítások mellett ezek elvégzésük időbeni vezérlését és eredmények válogatását végzik. Azért is van vezérelve az újraszámolás, alaphelyzet kikapcsolt, számolás csak Calculate utasításra.
Mindennek ellenére tovább kísérletezem, mert az Excel szép.
Üdv. -
repvez
addikt
udv
Azt meg lehet valahogy oldani, hogy ha valamit beirok egy cellába akkor automatikusan mentsen egy bejegyzést egy másik munkalapra dátummal?
ugy értem, hogyha megnyitom hétfön az excelt és beirok egy adatot a h2es cellába akkor a munka2es lapon az A1es cellába beirja a hétfői dátumot és a b1es cellába a a h2es adatot másolja be.
De amikor kedden megnyitom és ugyan ugy a h2es cellába modositom az értéket akkor az A2es cellába tegye a keddi dátumot és a b2es cellába a modositott értéket anélkül, hogy a hétfői megváltozna.Természetesen több cellával is müködjön és az azonos napi változásokat egy sorba irja és csak az A1es cellába legyen az aznapi dátum.A b1 ,c1, d1 stb.. csak a másolt adatok
-
Delila_1
Topikgazda
válasz repvez #45411 üzenetére
Másold be az alábbi makrót a munkalapod kódlapjára (lásd a Téma összefoglalóban).
Ha nem Munka2 a neve a másik lapodnak, írd át a makróban. A fájl makróbarátként kell elmentened.Private Sub Worksheet_Change(ByVal Target As Range)
Dim ide As Long
If Target.Address = "$H$2" Then
With Sheets("Munka2")
ide = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & ide) = Date
.Range("B" & ide) = Target
End With
End If
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.
-
repvez
addikt
válasz Delila_1 #45412 üzenetére
Köszi. igy muködi k arra a cellára
ÉS , hogy tudom ezt többszörözni?
Gondolom, hogy az
Valami ilyesmi kellene:Private Sub Worksheet_Change(ByVal Target As Range)
Dim ide As Long
If Target.Address = "$H$2" Then
If Target1.Address = "$H$3" Then
With Sheets("Munka2")
ide = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & ide) = Date
.Range("B" & ide) = Target
.Range("C" & ide) = Target1
End With
End If
End Sub
Csak mert igy hibát kapok
-
repvez
addikt
válasz m.zmrzlina #45414 üzenetére
Köszi.
kiprobáltam, Müködik is, csak ami a munka1 H oszlopába kerül, azt ugy szereném a munka2re vinni,Hogy ott egy nap az egy sorba kerüljön.
Tehát a H lévö oszlop az a munka 2-n. BCDE stb sorokba kerüljön vízszintesen
Az "A"oszlopban csak az adott napi dátum, és utána a B,C,D E,F stb.. sorokba meg az értékek.Holnap meg uj sort kezdjen
-
Fferi50
őstag
válasz repvez #45415 üzenetére
Szia!
Próbáld ki ezt az eseménykezelő makrót, a Munka1 munkalapod kódlapjára kell bemásolni.Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Variant
If Target.Address = "$H$2" Then
With Sheets("Munka2")
cel = Application.Match(CLng(Date), .Range("A:A"), 0)
If IsError(cel) Then
cel = .Range("A1000").End(xlUp).Row + 1
.Cells(cel, 1).Value = Date: .Cells(cel, 2).Value = Target.Value
Else
.Cells(cel, 1).End(xlToRight).Offset(0, 1).Value = Target.Value
End If
End With
End If
End SubÜdv.
-
Mutt
aktív tag
Szia,
A kód elején a Kezd = Cells(8, 7) rész azt mondja, hogy a G8-as cellában lévő érték legyen a Kezd változó induló értéke, de ahogy a minta képből kivehető az a cella üres, így a Kezd-nek nem lesz értéke és ez el kihat a többi változóra is.
Kell egy ellenőrzés hogy üres/nem számot tartalmazó esetben mi történjen.
pl.If IsEmpty(Kezd) Or Not IsNumeric(Kezd) Then Kezd = 1
üdv.
Ps.
Furcsa, hogy az UDF-ben megadsz egy vizsgálandó tartományt (Feltétel2) de azt nem használod fel sehol.A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
repvez
addikt
válasz Fferi50 #45416 üzenetére
ha ezt a makrót használom, akkor nem történik semmi a munka2ben.
Hiába irok bármit a H oszlopba, a munka2be se dátum se érték nem jelenik meg, üres marad.Az elöbbi megoldás jól müködik, csak ott minden érték uj sorba kerül és mindegyik elé kerül dátum is.
Nekem csak egyzer kellene a fátum és az értékek sorba vízszintesen kellene hogy legyenek .
-
Mutt
aktív tag
A másik fórumon jelent meg egy kérés, hogy hogyan lehetne egy számokat és szövegeket tartalmazó cellából a csak a számokat vagy szövegeket kinyerni.
Makró mentesen tömbfüggvénnyel és Power Queryvel is meg lehet oldani a dolgot.
Képlet B1-ben (Excel 2016 kell hozzá legalább):
=SZÖVEGÖSSZEFŰZÉS("";IGAZ;HA(SZÁM(--KÖZÉP(A2;SOR(INDIREKT("A1:A"&HOSSZ(A2)));1));KÖZÉP(A2;SOR(INDIREKT("A1:A"&HOSSZ(A2)));1);""))
Képlet C1-ben:
=BAL(A2;HOL.VAN(HAMIS;SZÁM(--(KÖZÉP(A2;SOR(INDIREKT("A1:A"&HOSSZ(A2)));1)));0)-1)
Képlet D1-ben (ugyanaz mint a B1, csak a HA(SZÁM részben van az IGAZ-HAMIS feltétel felcserélve):
=SZÖVEGÖSSZEFŰZÉS("";IGAZ;HA(SZÁM(--KÖZÉP(A2;SOR(INDIREKT("A1:A"&HOSSZ(A2)));1));"";KÖZÉP(A2;SOR(INDIREKT("A1:A"&HOSSZ(A2)));1)))
Képlet E1-ben:
=KÖZÉP(A2;HOL.VAN(HAMIS;SZÁM(--(KÖZÉP(A2;SOR(INDIREKT("A1:A"&HOSSZ(A2)));1)));0);5000)
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
m.zmrzlina
senior tag
válasz repvez #45415 üzenetére
Tegyük fel, hogy
-H2:H7 tartományban viszel fel adatokat a Munka1 nevű munkalapon
-ENTER-re lefelé ugrik az aktív cella és nem jobbra
-ha nem is írsz minden cellába a H2:H7-be akkor is leviszed az aktív cellát H8-ig
-további ha-k >....< ide
akkor itt egy Móricka megoldás:Private Sub Worksheet_Change(ByVal Target As Range)
Dim holavege As Long
Dim cella As Range
If ActiveCell.Column = 8 And ActiveCell.Row = 8 Then
holavege = Worksheets("Munka2").Range("A" & Rows.Count).End(xlUp).Row + 1
Worksheets("Munka2").Range("A" & holavege) = Date
For Each cella In ActiveSheet.Range("H2:H7")
Worksheets("Munka2").Cells(holavege, cella.Row) = Worksheets("Munka1").Cells(cella.Row, 8)
Next
End If
End Sub
Ez azért Móricka megoldás mert csinál olyan dolgokat is amit nem szeretnél, de pontosabb megoldáshoz nekem pontosabb feladat leírás kellene. -
Fferi50
őstag
-
Delila_1
Topikgazda
válasz Fferi50 #45421 üzenetére
Bocs, lusta vagyok kikeresni a kérdést.
Mindig a H2-be ír – ha jól értem –, csak az azonos napon beírt értékeket szeretné 1 sorba beírni a másik lapon. Remélem, jó lesz, de csak holnap derül ki.Private Sub Worksheet_Change(ByVal Target As Range)
Dim sor As Long, oszlop As Integer
If Target.Address = "$H$2" Then
With Sheets("Munka2")
sor = .Range("A" & Rows.Count).End(xlUp).Row + 1
If .Cells(sor - 1, 1) <> Date Then
oszlop = 2
Else
sor = sor - 1
oszlop = .Cells(sor, Columns.Count).End(xlToLeft).Column + 1
End If
.Cells(sor, 1) = Date
.Cells(sor, oszlop) = Target
End With
End If
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.
-
repvez
addikt
válasz m.zmrzlina #45420 üzenetére
köszi, ez egyszer működött, de nem tudom, mi történik , ha kitöröltem a megjelenített sorokat és újra vittem be adatokat akkor onnantól már nem jelent meg semmi adat sem
hiába másoltam és mentettem el újra a macrot.
és ki akartam próbálni, hogy módosítom a H2-H7 tartományt, de nem reagált utána már semmire.
egyébként csak ennyi lenne, hogy a munka1es függőleges oszlop adatait a munka 2 vízszintes sorába írja, de ha többször módosul egy nap a munka1ben az adat akkor csak felülírja az aznapi sorban lévő cellában irt adatot és ne szúrjon be még egy sort aznapi dátummal.Delila_1: nem csak a H2 lenne adat, hanem a H2-H20ig.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz repvez #45424 üzenetére
Újabb változat. Eddig arról volt szó, hogy azonos dátumnál a következő oszlopba írja be az értéket, most meg hogy írja felül a B oszlopban lévőt.
FFeri makróját módosítva:Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Variant
If Target.Column = 8 Then
With Sheets("Munka2")
cel = Application.Match(CLng(Date), .Range("A:A"), 0)
If IsError(cel) Then
cel = .Range("A10000").End(xlUp).Row + 1
.Cells(cel, 1).Value = Date: .Cells(cel, 2) = Target
Else
.Cells(cel, 2) = Target
End If
End With
End If
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
-
repvez
addikt
válasz Delila_1 #45425 üzenetére
Lehet félreérthető voltam a megfogalmazásban .
Müködik a macro, viszont valami nem teljesen jó, mert csak a H8as adatot viszi át a munka2 B2es cellájába.
viszont most jo, hogy a dátim az csak az A cellába jelenik meg és modositott értéknél is felulirja az adott adatot.
[ Szerkesztve ]
-
KBaj
kezdő
Szia!
Köszönöm, hogy hozzászóltál és tanácsot adtál.
Észrevételedre: Valóban a kód a G8-ra hivatkozik, de az nem üres hanem értéke 9, ami ránézésre csalóka, mert a G8 és H8 Excel művelettel cellaegyesítve van, igazítása középre (piros háttérszínnel). Hivatkozása viszont marad az első cella címe.
Az utóiratodra: Nagyon sokat kísérletezek Excel-VBA-val. Sokszor változtatok ezt-azt. A Feltétel2 nevű tartományt a program első harmadában használom először a'Feltételek
megjegyzés sor után:Range("AF11:AJ11").Value =
... , igaz nem név szerint, hanem tartalom szerint. Nem tudom, hogy helyes-e. Nem függvényként futtatva a programot, lefut rendesen.
Amit eddig tudok: Az1004 Application-defined or object-defined error
akkor jön elő, ha olyan utasítást kell végrehajtania, ami egy értékadás valaminek egy munkalapfüggvényt tartalmazó cellából. Persze a munkalapfüggvény helyes. Autódidakta megérzésem ezen az úton kell elindulni a hibakeresésben.
Minden hozzászólást szívesen fogadok. Köszönöm az eddigieket.
Üdv. -
Fferi50
őstag
Szia!
Annyi minden van azon a munkalapon a kép alapján, hogy (számomra legalábbis) lehetetlen reprodukálni, hiszen nem látszanak, hogy itt-ott milyen függvények vannak még, stb.
Ezért kértem, hogy tegyél elérhetővé egy mintafájlt, ne várd el, hogy kitaláljuk, hova - mit helyeztél el.
Mivel leginkább számok vannak, talán még hadititkot sem sértesz a közreadással.
A megnevezések stb. megadhatóak "álnévvel" is. Csak a számítások megértéséhez szükségesek legyenek jók.
Üdv -
Smogus
őstag
Sziasztok!
Egy olyan problémába ütköztem, hogy kellene egy ilyan folyamatos szűrést csinálnom, hogy az egyik munkalapon lévő sorok közül azok listázódjanak egy másik munkalapon, amelyeknek egy cellájában a "rögzíteni kell" felirat olvasató.
Tudom, hogy lehet egyszerű szűréseket alkalmazni az adott munkalapon, de nekem az kellene ha valaki megnyitja a táblázatot akkor a neki szóló fülön látja, hogy melyek azok a sorok amiket rögzíteni kell, úgy hogy semmilyen szűrést vagy makrót nem futat le a másik fülön.
Meg lehet ezt oldani?Előre is köszönöm a segítséget!
Ha az emberi agy elég egyszerű lenne ahhoz, hogy megértsük, akkor egyszerűségünkben erre már nem lehetnénk képesek. -- http://smogus.deviantart.com/ --
-
Fferi50
őstag
Szia!
Még valami jutott eszembe:
AzApplication.Volatile
utasítás az elején. Azt jelenti, hogy valahányszor változik egy cella értéke, a függvény újraszámol(ná) az értékét. Ez okozhat gondokat, hiszen elég sok helyen változtatsz cellaértékeket.
Én kivenném ezt az utasítást az elejéről.
Üdv.[ Szerkesztve ]
-
zsolti_20
senior tag
Sziasztok! Szeretnék adatot átmásolni egy másik excel fileből, filterezéssel, de valamiért nem akar működni. Hiába állítom be neki az összes kritériát valamirét az összes adatot átmásolja mintha nem is lenne filterezve. Hol lehet a probléma a kódban?
Sub CopyFilteredValuesToActiveWorkbook()
Dim wbSource As Workbook, wbDest As Workbook
Dim wsSource As Worksheet, wsDest As Worksheet
Dim rngSource As Range, rngDest As Range
Set wbSource = Workbooks.Open("D:\KyLe\Desktop\ASD.xlsx", , True) 'Readonly = True
Set wsSource = wbSource.Worksheets("ASD")
wsSource.Range("A2:Z40000").AutoFilter Field:=8, Criteria1:="3"
Set rngSource = wsSource.Range("B3:Z40000")
Set wbDest = ThisWorkbook
Set wsDest = wbDest.Worksheets("Sheet5")
Set rngDest = wsDest.Range("A1:Z40000")
rngDest.Value = rngSource.Value 'Copies values over only, if you need formatting etc we'll need to use something else
MsgBox "kecske"
wbSource.Close (False) 'Close without saving changes
End Sub
-
repvez
addikt
válasz Delila_1 #45428 üzenetére
Ma is megnéztem, hogy 2 eltérő napon hogy működik.
A dátum és a sorváltás jó.
Viszont az lehet, hogy nem volt teljesen világos, hogy a H2-H20 ig lévő adatokat minden alkalommal vigyen át a másik lapra is, ha változik ha nem
Tehát a H2es cella tartalma ,minden alkalommal a munka2 B oszlopának arra a napra metszésben lévő sorába kerüljön,
A H3as oszlop a Munka2 C oszlopára, a H4es a D re és igy tovább a H20- munka2 T oszlopig.
A következő nap meg új sorba előröl újra az egész.Most csak egy adatot visz át , de úgy nézem , hogy naponta egyel ugrik lejjebb, mert ma a H9es cellában lévő adatot vitte át a munka2es lap b3es cellájába , tegnap meg a H8as cella adatát hasonló B2 pozícióba a munka 2es lapon.
-
Fferi50
őstag
válasz repvez #45435 üzenetére
Szia!
Talán most már sikerült teljesen megfogalmazni a feladatot. Próbáld ki ezt az eseménykezelőt:Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Variant
If Intersect(Target, Range("H2:H20")) Is Nothing Then Exit Sub
With Sheets("Munka2")
cel = Application.Match(CLng(Date), .Range("A:A"), 0)
If IsError(cel) Then
cel = .Range("A10000").End(xlUp).Row + 1
.Cells(cel, 1).Value = Date
End If
.Range(.Cells(cel, 2), .Cells(cel, 20)).Value = Application.Transpose(Target.Parent.Range("H2:H20").Value)
End With
End Sub
A H2-H20 tartományba bármit változtatsz, az egész H2:H20 tartományt átmásolja a másik munkalapra. Sőt akkor is, ha csak visszaírod ugyanazt az értéket a tartomány valamelyik cellájába.
Üdv.[ Szerkesztve ]
-
benjoe1
aktív tag
Valaki leírná gyorsan, hogy milyen lehetőségek vannak egy excel közös használatára, milyen korlátozások vannak? Köszönöm
https://www.szarvaskovendeghaz.hu/
-
andreas49
senior tag
Sziasztok,
Lehet, hogy naiv a kérdésem:
Van egy elég hosszú táblázatom, amihez ugyanarra az oldalra készítettem 'Összegző kimutatás'-t. Megoldható-e, hogy ez a kimutatás a lefelé görgetésnél kövesse a táblázatot?Magyarán az utolsó sornál is lássam a teljes kimutatást
Segítséget köszi előre is.[ Szerkesztve ]
HONOR Magic5 Pro - Huawei P30 Pro 8/128 GB - Xiaomi MI Note 10 Pro - Huawei Mate 10 Pro
-
Fferi50
őstag
válasz andreas49 #45440 üzenetére
Szia!
Kijelölöd a kimutatás alá és elé eső első cellát. Pl kimutatás vége H8, akkor az I9 cellát.
Ezután Nézet-Panelek rögzítése - Ablaktábla rögzítése.
Ebben az esetben az A-I oszlop és felső 8 sor mindig látható, a többi görgethető.
Számolj azzal. ha a rögzített oszlopok nem férnek el a képernyőn, akkor nem láthatod az elől levő oszlopokat láthatóvá görgetni.
A görgetés csak a rögzített cellától lefelé és jobbra működik.
Próbáld ki, aztán eldöntöd, hogyan kell elhelyezni a kimutatást a munkalapon, hogy jó legyen a görgetés.
A rögzítést ugyanezen az úton tudod megszüntetni az Ablaktábla feloldása menüponttal.
Üdv.
Üdv. -
ReSeTer
senior tag
Helló!
Szeretném kijelölni az "A5" cellától a legutolsó bármiféle írásos tartalmat (tehát nem formázást) tartalmazó celláig a cellákat.
Jelenleg így próbálkoztam:
Range("A5").Select
Range(Selection, ActiveCell.SpecialCells(xlCellTypeLastCell)).Select
Jelenleg ez nem működik úgy ahogy szeretném, mert ez így azt a cellát jelöli ki, amelyiket a program előző sorai utoljára használtak. Nekem kizárólag csak az utolsó számot/képletet/szöveget tartalmazó cella kéne. Formázást ne figyelje.Létezik ilyen kód?
-
ReSeTer
senior tag
válasz Fferi50 #45444 üzenetére
Nem jó, ez csak az A5 oszlopban lévő sorokat jelöli ki. Oszloptól függetlenül kellene. Most nézem, lehet ez nem volt leírva egyértelműen előbb. Bocs.
Tehát, A5-s cella a kijelölés egyik pontja és az utolsó cella amiben van érték/képlet/szöveg az utolsó. Az a cella lehet akár egy másik oszlopban is.@Delila_1
Majdnem jó, csak ez meg valamiért kijelöl plusz sorokat lefele, pedig ott nincs semmi. Szerintem ez azt nézi, hogy mi volt az utoljára "használt" cella, amit akár egy előző kódsor is használhatott, csak most üres, vagy valami ilyesmi.Köszönöm attól függetlenül a próbálkozásokat!
[ Szerkesztve ]
-
Fferi50
őstag
válasz ReSeTer #45446 üzenetére
Szia!
Ez a makró az olyan cellákat veszi figyelembe, amelyekben konstans vagy képlet van. Remélem mindkettő megtalálható a munkalapodon:Sub erd()
Dim ter As Range, maxrow As Integer, maxcol As Integer
Application.EnableEvents = False
For Each ter In Union(ActiveSheet.UsedRange.Range(Cells(5, 1), ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell)).SpecialCells(xlCellTypeFormulas), ActiveSheet.UsedRange.Range(Cells(5, 1), ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell)).SpecialCells(xlCellTypeConstants)).Areas
maxrow = Application.Max(maxrow, ter.Row + ter.Rows.Count - 1)
maxcol = Application.Max(maxcol, ter.Column + ter.Columns.Count - 1)
Next
ActiveSheet.Range(Cells(5, 1), Cells(maxrow, maxcol)).Select
Application.EnableEvents = True
End Sub
Ezután kijelöli azt a területet, amelyben ezek a cellák találhatóak.
Ha nincs képleted vagy beírt konstansod, akkor Nincs ilyen cella hibával meg fog állni. Akkor jelezz vissza légy szíves.
És akkor is ha nem ezt akartad, vagy ezt akartad és sikerült.
Köszi. -
bozsozso
őstag
Sziasztok,
A és B oszlopban szöveg van több száz sorban. C oszlopban szeretném kimutatni azokat a sorokat ahol eltérés van. Ezt szöveggel hogyan tudom megtenni? Az sem fontos hogy mi az eltérés csak az hogy van
Pl.:
A1:körte
B1:körte/
c1:van eltérés
A2:alma
B2:alma
C2:nincs eltérésnem kell szöveggel kiírnia az is elég ha hibát ír ha nem egyezik vagy bármi csak a végén tudjam szűrővel leszűrni
Számokkal egyszerű, mert kivonom a 2 cellát egymásból ha nulla akkor egyezik ha nem akkor meg nem.
Van esetleg erre valami ötletetek? Ha lehet makró nélkül lenne jó.
Új hozzászólás Aktív témák
- ASUS Vivobook Snapdragonnal: talán egy új korszak kezdete!
- Robotporszívók
- Építő/felújító topik
- Politika
- Motoros topic
- Autós topik
- Akciófigyelő: Már 70 ezer forint alatt a Xiaomi felmosni is képes porszívója
- OTP Bank topic
- Kerti grill és bográcsozó házilag (BBQ, tervek, ötletek, receptek)
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Adobe Előfizetések - Adobe Creative Cloud All Apps, Photography Plan - 12 Hónap