- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- DIGI Mobil
- Itt az első kép a 2024-es Nokia 3210-ről
- Android alkalmazások - szoftver kibeszélő topik
- Garmin Forerunner 255 Music - nem csak futóknak
- iPhone topik
- 15 éves az első androidos Samsung telefon
- Samsung Galaxy S24 - nos, Exynos
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
Hirdetés
-
Augusztustól nagyot változik a Shein élete
it Onnantól kezdve lesz a platformra érvényes az EU-ban a DSA, így számos kötelezettséget vesz a vállára a Shein.
-
Lenovo Essential Wireless Combo
lo Lehet-e egy billentyűzet karcsú, elegáns és különleges? A Lenovo bebizonyította, hogy igen, de bosszantó is :)
-
Digitális detox a Nokiától
ma Három új, 4G-s készülék közül lehet választani, ha valaki, elérhetőségre, de digitális disztrakció nélküli időtöltésre vágyik.
-
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
-
#20368384
törölt tag
Érdekes hiba:
1. Van egy táblázatom (Google Adwords-ből CSV vagy XLSX export - ugyanúgy előjön a hiba)
2. Vannak oszlopok, ahol csak számok vannak
3. CTR+F-el vagy makróval eltávolítom belőlük az ALT+0160 típusú szóközkaraktert
4. Majd valutává konvertálom
5. Az ezrestől nagyobb, régebben (ALT+0160) típusú szóközt tartalmazó, mostanra normális számként funkcionáló cellákba az érték nem állítódik be.
6. Bele kell egyszer legalább kattintani és kikattintani belőlük vagy entert ütni.
7. Akkor végre jobbra igazítja és valóban valuta lesz belőle.A kérdésem, az, hogy ez Excel hiba, és hogy orvosolható-e egyetlen lépésben?
Van olyan lehetőség, ami újra beírja az értékeket az adott tartományban?A Makrót amit eddig írtam hozzá a következő
Sub Google_Kulcsszojelentes_Formazas()
'
ActiveCell.Range("A1:M1").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
ActiveCell.Offset(1, 0).Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$2:$M$36"), , xlYes).Name = _
"Táblázat1"
ActiveCell.Range("A1:M35").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveCell.Offset(-1, 3).Range("A:A,E:E,F:F,I:I").Select
ActiveCell.Offset(0, 11).Range("A1").Activate
Selection.Style = "Currency"
End Sub -
earthy
újonc
Sziasztok! Új vagyok itt, engedelmetekkel segítségért fordulnék hozzátok!
Egy jókora excel táblázatban fogok dolgozni, amely vízszintesen változó számú adatot fog tartalmazni. Pillanatok alatt át kell látnom, hogy az adott sorban az utolsó adatot tartalmazó cellába mit írtam. (szöveges)
Ezért kellene azt megoldanom, hogy a mellékelt kép szerint pl. az első oszlopban képlettel folyamatosan jelenítse meg, hogy az adott sor utolsó adatot tartalmazó cellájában mi szerepel.Makróval megoldottam úgy, hogy a lépéseket végrehajtva letároltam, mármint egy cella jobbra, ugrás a sor végére, másol, vissza, beilleszt... - ezzel az a gondom, hogy minden sorra egyesével ki kell adni, másrészt manuális futtatást igényel. Ezért gondolkodtam az FKeres és hasonló függvényekben, azonban tapasztalat hiányában nem tudtam úgy megalkotni, hogy működjön. Feltöltöttem egy egyszerűsített példa táblát, ez lenne a cél.
Kérlek segítsetek ha tudtok ebben. Köszönettel: Csaba
/dl/upc/2015-08/24/567624_b5olidopdu6mcv5z_alaptabla.jpg
-
earthy
újonc
válasz alfa20 #28205 üzenetére
Szia Alfa20! Nagy vagy, működik! Kipróbáltam, minden sorra érvényesül, és működik rendben!
Ha van még rám pár perced megkérhetlek hogy a miértjét is leírd majd, mert bár ezt várhatóan át tudom majd ültetni a végső táblába, szeretném megérteni a miértjét is...
=HAHIBA(INDIREKT(CÍM(SOR(B2);HOL.VAN("";B2:J2;-1)+1));"üres")
Köszönet mégegyszer!!!!
-
alfa20
senior tag
válasz earthy #28206 üzenetére
Haladjunk sorban:
Hol.van: megtudod keresni, hogy hol található a keresett érték. itt ugye megadható pontos keresés, de nekem a 'semmit' (üres cellát) még sosem sikerült pontos kereséssel találni, így a '-1'-t használom mert ilyenkor mindig megadja hol van az utolsó kitöltött cella. Arra viszont figyelni kell, hogy a tartomány ha számokból áll, akkor a két macskaköröm helyett egy 'space' kell, különben nem működik. ezt lehet nem így kellene használni, de majd holnap jönnek az Guruk és kijavítanak.
ja igen a +1 azért kell mert az első oszlopban a képlet van, így el kell tolni egyel a CÍM() függvényt.Sor: vissza adja a hivatkozott cella sorának számát.
Cím: Egy cella címét adja eredményül (sor,oszlop) pl: =CÍM(2;2)-ből, $B$2-lesz.
Indirekt: A hivatkozott cella értékét kapod vissza(pl, ha 'A2' cellába 'B2'-t irtsz és indirekttel az 'A2'-re hivatkozol, akkor 'B2' cella értékét kapod eredményül.
Hahiba: érték hiba esetén a megadott érték lesz az érték.
[ Szerkesztve ]
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
poffsoft
addikt
válasz earthy #28206 üzenetére
szia,
hahiba(képlet ha nemhibás; érték ha hibás a képlet eredménye)
indirekt: szöveggel megadott hivatkozás értéke
cím(sor, oszlop): hivatkozást ad a sor, oszlop cellára.
hol.van : megkeresi a tartomány első üres celláját
megjegyzem, a sor(B2) helyett én sor()-t használnék.[ Szerkesztve ]
[ Szerkesztve ]
-
Delila_1
Topikgazda
-
earthy
újonc
válasz Delila_1 #28209 üzenetére
Sziasztok!
Hála Nektek, sikerült beillesztenem a képletet a saját táblázatba is. Miután itt nem az első oszlopba várom eredményül a sor utolsó értéket tartalmazó cellájának tartalmát, így a
=HAHIBA(INDIREKT(CÍM(SOR(J2);HOL.VAN("";J2:JA2;-1)+9));"üres")
képletre írtam át, hogy a 9. oszlop a kimeneti cella, és ezzel bővítettem a vízszintes tartományhosszt is.
Csak még egy kérdés, habár így is tökéletes, azt tapasztaltam, hogy amennyiben kizárólag számokat írok be, úgy figyelmen kívül hagyja a képlet az utolsó cellát, mármint azt amiben számadat található... Egyszerű megoldás, hogy a cellát szöveges tartalmúra formáztam - habár gyanítom ez a barbárabbik módszer...
Mindenesetre köszönöm a segítségeteket!
-
nyirisandor
újonc
Sziasztok!
Azt szeretném elérni hogy egy adott névsorban szereplő neveket kilistázza és ha egy név többször szerepel akkor is csak egyszer jelenjen meg a listában, valamint számolja ki hogy egy ember hány alkalommal volt jelen. Ennek a folyamatnak automatikusnak kell lennie mert a nevek folyamatosan bővülnek és változnak is.
Ebben kérem a segítségeteket. A szűrésnél nem tudtam automatikusra beállítani.Sajnos nekem nem sikerült megoldanom. Az Spss, és az Access tudja, de sajnos excelben kellene megoldanom ezt a feladatot.
Kérlek benneteket segítsetek ha tudtok rá megoldást.
üdv: Nyíri Sándor
[ Szerkesztve ]
-
poffsoft
addikt
válasz nyirisandor #28212 üzenetére
Szia,
google tömbképletes megoldásokat kínál.
Ha lehet makróval is:
Dim row As Range
Dim elements() As String
Dim elementSize As Integer
Dim newElement As Boolean
Dim i As Integer
Dim distance As Integer
Dim result As String
elementSize = 0
newElement = True
For Each row In rng.Rows
If row.Value <> "" Then
newElement = True
For i = 1 To elementSize Step 1
If elements(i - 1) = row.Value Then
newElement = False
End If
Next i
If newElement Then
elementSize = elementSize + 1
ReDim Preserve elements(elementSize - 1)
elements(elementSize - 1) = row.Value
End If
End If
Next
distance = Range(Application.Caller.Address).row - rng.row
If distance < elementSize Then
result = elements(distance)
listUnique = result
Else
listUnique = ""
End If
End Functionha megvan a lista, már csak egy sima DARABTELI() amire szükséged van.
A példatáblát jobb lenne xls formátumban mellékelni
[ Szerkesztve ]
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz nyirisandor #28212 üzenetére
A lapodhoz kell rendelned a makrót. Keress rá a laphoz rendelésre.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim usor As Long
If Target.Column = 2 And Target.Row > 2 And Target.Count = 1 Then
Application.EnableEvents = False
usor = Range("B" & Rows.Count).End(xlUp).Row
Range("B3:B" & usor).Copy Range("D3")
Range("E3:E" & usor).ClearContents
ActiveSheet.Range("$D$3:$D$" & usor).RemoveDuplicates Columns:=1, Header:=xlNo
usor = Range("D" & Rows.Count).End(xlUp).Row
Range("E3:E" & usor) = "=countif(B:B,D3)"
Application.EnableEvents = True
End If
End SubSzerk. Látom, már kaptál választ, míg én irkáltam.
Mikor új nevet viszel be a B oszlopba, a D és E oszlop felülíródik az új értékekkel.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
tag
Hello!
Kellene egy kis segítség makró írásban. A következő feladatot kellene megoldani:
Az A oszlopban minden sorban van egy képlet mely eredménye üres vagy "elrejtve"(Kiírja hogy Elrejtve).
Ez annak függvényében változik hogy, a mögöttes PIVOT tábla mennyi adatot tölt be.
Frissítem a PIVOTOT (ezt sikerült makró rögzítéssel megcsinálni), majd ennek függvénye hogy mennyi sor le az ahova nem jut adat=el kell rejteni.
Ahol kiírja az A oszlopban hogy "Elrejtve" azt egy gombnyomasra el kellene rejteni.Köszi ha valaki veszi a fáradságot.
Csak makró jöhet szóba. -
Delila_1
Topikgazda
válasz coldfirexx #28217 üzenetére
Sub Elrejt()
Dim terulet As Range, CV As Range
Set terulet = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
For Each CV In terulet
If CV = "Elrejtve" Then
Rows(CV.Row).EntireRow.Hidden = True
Else
Rows(CV.Row).EntireRow.Hidden = False
End If
Next
End SubTalán ez jó lesz.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
tag
-
Delila_1
Topikgazda
válasz coldfirexx #28219 üzenetére
Szívesen.
Set terulet=Range("A39:A83")
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
tag
-
Delila_1
Topikgazda
válasz coldfirexx #28221 üzenetére
Sub Elrejt()
Dim szam As Long, CV As Range
For Each CV In Range("A39:A83")
If CV = "Elrejtve" Then
Rows(CV.Row).EntireRow.Hidden = True
Else
Rows(CV.Row).EntireRow.Hidden = False
End If
szam = CV.Row
Next
Range("B" & szam & ":N" & szam).Borders(xlEdgeBottom).Weight = xlMedium
End SubNem világos, hogy az alsó, látható adat, vagy az utolsó elrejtett sor aljára akarsz-e vastag vonalat?
Ha az utóbbi, akkor a szam = CV.Row sort az Else fölé tedd át. Ebben az esetben viszont nem látszik, mert ez a sor rejtett.[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
tag
-
Delila_1
Topikgazda
válasz coldfirexx #28223 üzenetére
Sub Elrejt()
Dim szam As Long, CV As Range
For Each CV In Range("A39:A83")
If CV = "Elrejtve" Then
Rows(CV.Row).EntireRow.Hidden = True
Else
Rows(CV.Row).EntireRow.Hidden = False
szam = CV.Row
End If
Next
Range("B" & szam & ":N" & szam).Borders(xlEdgeTop).Weight = xlMedium
End SubAkkor az utolsó, nem rejtett sornak adunk felső szegélyt.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
tag
-
Delila_1
Topikgazda
válasz coldfirexx #28225 üzenetére
Az utolsó makrót másold be, azzal ott lesz szegély, ahol kell.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
tag
-
Delila_1
Topikgazda
válasz coldfirexx #28227 ü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.
-
nyirisandor
újonc
válasz Delila_1 #28216 üzenetére
Az már kiderült számomra hogy nem vagyok Excel guru :-(
Egyik megoldást sem sikerült működőképessé tennem. Még próbálkozom velük.
Azért köszönőm a segítségeteket.Megpróbáltam az Excel táblát föltenni de az sem sikerült, mert nem kép. :-(
Úgy tűnik ebből nem élnék meg.
Kicsit elkeseredtem de még nem adom föl.
Köszönöm a segítséget és szép napot mindenkinek -
poffsoft
addikt
válasz nyirisandor #28230 üzenetére
töltsd fel a data.hu-ra (vagy a google drive-odra, ha van), és a letöltő linket posztold ide.
Vagy küldd el emailben.[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz nyirisandor #28232 üzenetére
Valószínű, hogy azóta poffsoft már válaszolt privátban, de ha nem, ez is megteszi.
Mikor egy új nevet viszel be a B oszlopba, a jobb oldali táblázat automatikusan frissül.
Az A1:B1 és a D1:G1 tartományban megszüntettem a cellák összevonását. Javaslom, hogy ezután is kerüld ezt a formázási lehetőséget, mert elég sok galibát okozhat.
Egyenként jelöld ki a két tartományt, és a cellaformázásnál nézd meg a vízszintes elrendezés beállításá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.
-
tag
Sziasztok!
Egy olyan makrót keresek amelyik a következőt csinálja:
Van egy táblám, ahova adatok vannak betöltve "A3: Y3" között, és "Z3: AM3" ig képletek.
Jön egy új adathalom és akár "A5000: Y5000" ig feltölti a táblát.
A makró amit keresek hogy másolja le a képleteket addig amíg az "A: Y" ban van adat.[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz coldfirexx #28234 üzenetére
Nem kell ehhez makró, 1 (dupla) kattintással megvan.
Kijelölöd az eddigi utolsó képleteket (Z3:AM3 tartomány). A kijelölés jobb alsó sarkában van egy kis fekete négyzet, azon egy duplaklikk lemásolja a képleteket addig, amíg a mellette lévő Z oszlopban valamilyen értéket talál.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
nyirisandor
újonc
válasz coldfirexx #28234 üzenetére
Köszönöm szépen a segítséget.
Működik :-) és most meg is tanulom. -
tag
-
Delila_1
Topikgazda
válasz coldfirexx #28234 üzenetére
Pl. így:
Sub Kepletek()
Dim usor1 As Long, usor2 As Long
usor1 = Range("A" & Rows.Count).End(xlUp).Row
usor2 = Range("Z" & Rows.Count).End(xlUp).Row
Range("Z" & usor2 & ":AM" & usor2).Copy
Range("Z" & usor2 + 1 & ":Z" & usor1).PasteSpecial xlPasteFormulas
Application.CutCopyMode = False
End Sub[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
tag
-
wolfman
veterán
Sziasztok!
Lehetséges olyat kivitelezni excel-ben, hogy kijelölt területen a beszínezett cellákat is belevegye a számításba a végén? Arra gondolok, hogy pl. egy sorban van 10 cella, az első 4 találomra be van színezve, aztán pár számadat és a végén a szummába kiszámolva a korábbi számok úgy hogy az első változó aszerint lenne hogy a 4 cellából mondjuk kettő van kékre színezve, akkor 2x bla bla.
Nem tudom érthető-e?
„Ami mérhető, mérd meg! Ami nem mérhető, tedd mérhetővé!” – Galileo Galilei
-
poffsoft
addikt
válasz nyirisandor #28232 üzenetére
Nem , még csak most végeztem.
Delila megoldását is alkalmazva, a munka1-en makrós, munka2-n függvényes megoldás
[link][ Szerkesztve ]
-
tag
-
tag
Végül sikerült így megcsinálni:
Sub Szerződések_törlése()
Sheets("Alapadatok").Select
Dim MyCol As String
Dim i As Integer
For i = 1 To Range("AE" & "65536").End(xlUp).Row Step 1
If Application.WorksheetFunction.CountIf(Range("A" & i & ":AZ" & i), "A szerződés előző évben lejárt") > 0 Then
Range("C" & i).EntireRow.Delete
End If
Next i
Range("A2").Select
Sheets("Vezérlő").Select
Range("B6").Select
End SubDe vagy 3 perc mire lefutott 5000 sornál.
Van valami gyorsabb módja makróval? -
Mittu88
senior tag
Sziasztok!
VBA-ban szeretnék egy hibakezelő modult létrehozni, ami azt csinálja, hogy hiba esetén
vár egy másodpercetdob egy hibaüzenetet, amit leokézva, majdújra próbálkozik attól a sortól, amelyiken a hiba előfordult.Erre azért van szükség, mert van egy makró, amivel sokan dolgoznak, és bezáráskor (illetve egy pár művelet során) megnyit egy szerveren lévő fájlt egy pillanatra, amíg a saját adatait beletölti.
A probléma, hogy néha egyszerre lépnek ki a makrós fájlból, így egy megnyitott fájlt akar megnyitni és szerkeszteni, ami hibára futtatja.Alapból ez a makrós fájl formokból áll csak, tehát cellába nem is tudnak írni (célszerűbb lett volna amúgy futtatható állományt csinálnom sima VB-ben, de ahhoz nem értek), mert induláskor felugrik az első form. Ez változtat valamit a hibakezelésen?
[ Szerkesztve ]
-
Mittu88
senior tag
válasz coldfirexx #28244 üzenetére
Ha van egy olyan sorod, amiben végig vannak adatok, akkor a következőt csináld a For ciklus helyett:
i = 0
Do
i = i + 1
If Cells(i, 31).value = "A szerződés előző évben lejárt" then 'A 31 az AE oszlop száma
Cells(i, 31).entirerow.delete
i = i-1
End if
Loop until Cells(i, végigtöltöttsor sorszáma).value = "" 'Addig megy, amíg nem talál üres cellátAmúgy a CountIf függvény lassítja nagyon, nincs rá szükség. Simán a cella értékét (value) vizsgáld.
[ Szerkesztve ]
-
schmiedpeter
csendes tag
Sziasztok, jelenléti ívet készítek, de elakadtam,
amit én szeretnék az az, hogy ne csak azok a cellák legyenek szürkére színezve automatikusan amik "Szo" vagy "V" vel vannak kitöltve, hanem ezeknek az egész sora...Válaszotokat előre köszönöm.
-
tag
válasz schmiedpeter #28247 üzenetére
Szerintem feltételes formázásnál, jelöld ki a teljes sort majd a feltétel megadása képlettel: =HA(VAGY(B21="SZ";B21="V");IGAZ;HAMIS) és állítsd be hogy szürke legyen.
Maj formátummásolással mehet minden sorra.[ Szerkesztve ]
-
tag
-
Mittu88
senior tag
válasz coldfirexx #28249 üzenetére
Sub adattorles()
Dim i as integer
Dim j as integerWorksheets("Alapadatok").Activate
j = 0
i = 0
Do
i = i + 1
If Cells(i, 31).value = "A szerződés előző évben lejárt" then 'A 31 az AE oszlop száma
Cells(i, 31).entirerow.delete
i = i-1
j = j + 1
End if
Loop until Cells(i, 1).value = "" 'Addig megy az első oszlopon végig, amíg nem talál üres cellátMsgbox "A művelet sikeresen lefutott, " & j & " sor került eltávolításra", vbokonly
End sub
Új hozzászólás Aktív témák
- Egyre gyorsabban ügyködik saját HBM memóriáján Kína
- A fociról könnyedén, egy baráti társaságban
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Kínai cégek segítik ezentúl a Teslát, a Renault-t, a Hyundait és a Toyotát
- Jövedelem
- Gyúrósok ide!
- Milyen videókártyát?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Politika
- További aktív témák...
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Eladó Steam kulcsok kedvező áron!
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Canva Pro előfizetés - 1 éves