- Fotók, videók mobillal
- iPhone topik
- Netfone
- Android alkalmazások - szoftver kibeszélő topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Honor 400 Pro - gép a képben
- Apple iPhone 16 Pro - rutinvizsga
-
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
-
-
Fferi50
Topikgazda
Szia!
"Ha manuálisra állítom, akkor is gyorsan megcsinálja"
Akkor bizony olyan függvények lehetnek az adott munkafüzetben, amelyek minden cellaváltozásra újraszámolják az értékeket.
Keress a VBA nézetben rá a Volatile szóra. Nagy eséllyel fogsz találni olyan eljárást, ami tartalmazza. Na az a bűnös.Látatlanban ennél többen nem tudok mondani. Ha nem túl titkosak az adatok, akkor küldd el priviben és ránézek.
Üdv.
-
Fferi50
Topikgazda
Szia!
"közepesen komplex makrót tartalmazó Excel file-om"
Jó lenne tudni, hol van az a makró. Modulban, munkalap kódlapján, esetleg a Thisworkbook kódlapján....
Az a tippem, hogy eseménykezelő van a munkafüzetben és emiatt lassú a sok ezer cella lekezelése. Esetleg lehetnek olyan munkalapok benne még, ahol számítások vannak és minden művelet után újraszámolja az Excel a képleteket. Erről meggyőződhetsz, ha a számolást átállítod manuálisra.Üdv.
-
Fferi50
Topikgazda
Szia!
Nahát!
Szerintem az a feladat, hogy az A oszlopban levő számot megkeressük a C oszlopban, ha előfordul. akkor írunk a D oszlopba, ha nem, akkor nem írunk.
Erre nagyon megfelel a Darabteli függvény, csak éppen az eddigiekhez képest fordítva kell paraméterezni, képlet a D1 cellába:=HA(DARABTELI($C:$C;$A1)>0;$B1;"")
Ezt húzd végig a D oszlopon.
Üdv.
-
Fferi50
Topikgazda
Szia!
Azt hiszem, még mindig nem elég világos amit szeretnél....(bár néha úgy tűnt
)
Idézet az első hozzászólásodból:
"Hogy tudom azt megadni, hogy a D oszlop adott sorában dobja ki a B oszlop adott sorát, ha az A oszlopban szerepel a C oszlop bármelyik száma? "
A csatolt példa pedig:
1 gd 0 gd
2 bcx 1
3 hf 3 hf
3 bd54t 4 bd54t
1 sdg 6 sdg
1 qwef 7 qwef
7 dsfg 10 dsfg
4 fv 21 fv
9 vy 40
10 yvxc yvxc
10 cv cv
3 yxcv yxcv
2 yxcv
4 yxcv yxcv
15 yxcv
16 yxcv
17 yxcv
18 yxcv
19 yxcv
20 yvxc
21 yxcv yxcvazt mutatja, hogy a 40 nincs benne az A oszlopban, (viszont minden más C oszlopbeli szám - kivéve a 0 - benne van), ennek ellenére ide üres D cellát tettél.
15-20-ig tartó A oszlopbeli számok nincsenek benne a C oszlopban, ezért ott üres a D oszlop, de a többi szám benne van a C oszlopban....
Nem elfelejtve azt sem, hogy hozzászólásaidban keverednek a sorok és oszlopok meghatározásai is...
Akkor most mi is a szabály? Milyen esetben kell a D oszlopba a B oszlop értékeit beírni?
Mert az idézet szerint minden D oszlopbeli cellában a B oszlop értékeinek kellene lenni, a példa pedig nem egyértelmű.Üdv.
-
Fferi50
Topikgazda
Szia!
"az A oszlop adott sorában megkeresi C bármely elemét"
Ezt most kicsit fordítva írtad....,mert legelőször ez volt:
"D oszlop adott sorában dobja ki a B oszlop adott sorát, ha az A oszlopban szerepel a C oszlop bármelyik száma"Szerintem ez utóbbi az ami releváns és "megvilágosodtam"
Erre nagyon jó a gyakoriság függvény:
A D1 képlete:=HA(GYAKORISÁG($A:$A;$C1)>0;$B1;"")
Ezt húzhatod végig a D oszlopon.Üdv.
-
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
Szia!
Értékké átalakításhoz nem kell copy - paste makró esetén, egyszerűen ez a sor megoldja:
Range("a1:aq50000").Value=Range("a1:aq50000").Value
Fontos, hogy ugyanoda szeretnéd az értéket visszaírni. Szerintem nem lehet nagy az időigénye sem, mivel csak a meglevő cellaértéket kell visszaírni.
Üdv.
-
Delila_1
veterán
Az "ok" szövegek az AF oszlopban vannak. Ez a táblázat első oszlopa? Ha nem akkor az
ActiveSheet.Range(tartomany).AutoFilter Field:=1, Criteria1:="ok"
sorban a mezőszámot át kell írnod 1-ről annyira, ahányadik az AF a teljes táblázatban. A feloldásra is érvényes az átírás. Pl. ha AA az első oszlop, akkor a Field:=6
ActiveSheet.Range(tartomany).AutoFilter Field:=1
-
Delila_1
veterán
Valami baj van a fájloddal, mert a makrónak jól kell működnie.
Valószínű, hogy tele van egy halom felesleges adattal, képlettel, esetleg rajz objektumokkal, ha ilyen hatalmas méretű. Ekkora fájl esetén ne várj gyors műveleteket – ez az értékek beillesztésére is vonatkozik.
-
Delila_1
veterán
Az első kérdésedre:
Sub Szures_Torles()
Dim tartomany As String, usor As Long
tartomany = Range("AH1").CurrentRegion.Address
ActiveSheet.Range(tartomany).AutoFilter Field:=1, Criteria1:="ok"
usor = Range("AH" & Rows.Count).End(xlUp).Row
Rows("2:" & usor).Delete Shift:=xlUp
ActiveSheet.Range(tartomany).AutoFilter Field:=1
End SubA másodikhoz nem kell makró. Kijelölöd a területet. Ha nincsenek a területen belül teljes üres sorok, vagy teljes üres oszlopok, akkor a tartomány bármelyik celláján állva a Ctrl+a (all), vagy a Ctrl+t (táblázat) kijelöli az egészet. Másolás (Ctrl+c), jobb klikk, irányított beillesztés, értékeket.
-
Fferi50
Topikgazda
Szia!
Próbáld meg ezt a tömbképletet, pl. az E oszlopra. A D1 cellában legyen amit keresel.
Képlet az E1 cellába, azután lehúzod:=HAHIBA(INDEX($B$1:$B$66;NAGY(($A$1:$A$66=$D$1)*SOR($B$1:$B$66);DARABTELI($A$1:$A$66;$D$1)-(SOR()-1));1);"NINCS TÖBB")
Természetesen a záró sorindexet igazítsd a te állományodhoz.
Tömbképlet bevitele Shift+Ctrl+Enter.Üdv.
-
-
Pakliman
tag
Szia!
Kipróbáltam ("A" oszlopra), működik, csak az
.AutoFilterMode = False
sort egy kicsit átalakítani (legalábbis nálam hibát dobott):.Parent.AutoFilterMode = False
.
Így lefutott és törölt is.With Cells
.Parent.AutoFilterMode = False
.Range("a1:a1").AutoFilter 'Filter bekapcsolása
.Range("a1:a1").AutoFilter Field:=1, Criteria1:="OK" 'Kritérium megadása
.Range("A2:bb1000000").SpecialCells(xlCellTypeVisible).EntireRow.Delete 'Kritériumnak eleget tevő cellák törlése
Cells.AutoFilter 'Filter törlése
Range("A1").Select 'Alap kiindulópont beállítása
Application.CutCopyMode = False 'Kijelölés megszüntetése
MsgBox ("Ok")
End With -
Pakliman
tag
[Ezt a trükköt találtam].
Én még nem próbáltam, de jónak tűnik. -
edari
őstag
Csak egy példa, átírod a tartományt (A1: BZ1), illetve a Field értékét, és a munkalapot (Munka8).
With Munka8
.AutoFilterMode = False
.Range("A1:BZ1").AutoFilter 'Filter bekapcsolása
.Range("A1:BZ1").AutoFilter Field:=1, Criteria1:="OK" 'Kritérium megadása
.Range("A2:BZ100000").SpecialCells(xlCellTypeVisible).EntireRow.Delete 'Kritériumnak eleget tevő cellák törlése
Cells.AutoFilter 'Filter törlése
Range("A1").Select 'Alap kiindulópont beállítása
Application.CutCopyMode = False 'Kijelölés megszüntetése
MsgBox ("Ok")
End With -
lappy
őstag
A lap alján van egy zip egy jó kiindulás lehet
-
Delila_1
veterán
Másképp:
Sub Egyes()
Dim oszlop, usor As Long
oszlop = Application.Match("Cím1", Rows(1), 0)
usor = Range("E" & Rows.Count).End(xlUp).Row
Range(Cells(2, oszlop), Cells(usor, oszlop)).Select
Selection.SpecialCells(xlCellTypeBlanks) = 1
End SubA Cím1 szöveget keressük az első sorban.
-
Delila_1
veterán
Nem kell függvény.
Kijelölöd a tartományt, amiben az üres cellák vannak. Ctrl+g-re bejön az Ugrás menü. Ott Irányított gomb, majd Üres cellák. Kijelöli az üres cellákat, amik közül az első lesz aktív. Nem szünteted meg a kijelölést, hanem beírsz egy 1-est, és Ctrl+Enterrel beviszed, egyszerre az összes kijelölt helyre.
-
bteebi
veterán
Magamtól azt mondtam volna rá, hogy igen, de a Google szerint lehetséges
.
Ebből a makróból próbálj építkezni. A my_url-t neked nyilván nem kell megadnod, simán az előző makróból kapott hl-re hivatkozz. Amúgy pont ezen az oldalon ajánlanak egy Selenium nevű programot, azt is érdemes lehet megnézned. Majd írj a fejleményekről.
-
bteebi
veterán
Valami ilyesmi.
Sub linkmasolas()
Dim hl As Hyperlink
sor = 1
For Each hl In ActiveSheet.Hyperlinks
Cells(sor, "D") = hl.Address
sor = sor + 1
Next hl
End SubEz a makró minden hiperhivatkozásnak a címét (tartalmát) a D1-es cellába, majd az alatta lévő cellákba másolja. A kigyűjtött linkeket pedig oda másolod, ahová akarod (akár txt-ként vagy csv-ként is elmentheted).
-
spe88
senior tag
Megvan:
[/Option Explicit
Function HyperLinkText(rg As Range)
Dim sFormula As String, S As String
Dim L As Long
Dim H As Hyperlink, HS As Hyperlinks
sFormula = rg.Formula
L = InStr(1, sFormula, "HYPERLINK(""", vbBinaryCompare)
If L > 0 Then
S = Mid(sFormula, L + 11)
S = Left(S, InStr(S, """") - 1)
Else
Set HS = rg.Worksheet.Hyperlinks
For Each H In HS
If H.Range = rg Then
S = H.Address
End If
Next H
End If
HyperLinkText = S
End FunctionM] -
bsh
addikt
-
poffsoft
veterán
nem pontosan értem a kérdést.
nem a vkeres() kellene neked?
=VKERES("*";A2:AA2;1;HAMIS)
A második sorban megkeresi az első nemüres cellát pl.
Meg azt sem értem, hogy a képlet honnan tudhatná, hogy most éppen angol, francia, kiszuahéli szöveget fog találni?
pontosítsd a kérdést, kérlek.. -
szatocs1981
aktív tag
OK, (talán) közben rájöttem.
D1-hez kellene bemásolni a függvényt, majd "lehúzni" a vizsgálandó cellák soráig. A csatolt képen én ugy veszem ki, hogy D12-nél indul. Így üresen marad minden....Talán...De az tuti, hogy D12-nél, a sor legvégén, az "A1" az nem stimmel, ott "A12"-nek kellene állnia.
-
Delila_1
veterán
Itt egy saját függvény.
Function Megkeres(tartomany As Range, ertek As String)
Dim CV As Range
For Each CV In tartomany
If InStr(CV, ertek) Then
Megkeres = CV
Exit Function
End If
Next
Megkeres = "Nincs " & ertek & " a tartományban"
End FunctionA cellába beírod =megkeres(A1:A9;"nok")
-
szatocs1981
aktív tag
@Delila: azt irja, hogy két oszlopban vannak a kiindulási adatok!
Igen, nálam müködik.
azt elfelejtettem, hogy a C1-be ird be, hogy "nok".
idézöjel nélkül!és az elsö cellát amibe ezt bemásoltad, húz le, ameddig a vizsgálatot akarod megcsináltatni!
Amúgy "nekem semmi" az mit jelent? Hibaüzenet? vagy üres marad a cella?
-
szatocs1981
aktív tag
{=ha(sor()>szum(szám(szöveg.talál(C$1;A$1:A$100))*1);"";index(B:B;kicsi(ha(szám(szöveg.talál(C$1;A$1:A$100));}sor($1:$100));sor(A1))))
Evvel mennie kell! Ez nem sima, hanem egy tömbképlet (ctrl+alt+enter a végén, {} nélkül!)
Nekem német nyelvü excelem van, így lehet a függvények neve nem egészen stimmel. Ha nem müködik, akkor azokat ellenörizd le! -
cekkk
veterán
Sűrűn kellene, így automatizálni kellene, de én hülye vagyok hozzá
A lényeg, hogy van egy termék lista az A oszlopban(ez állandó) és van egy másik termék lista mondjuk C oszlopban(ez változik).
Az kellene vizsgálni, hogy A oszlop elemei megtalálhatóak-e C oszlopbanban ha igen akkor B oszlopban ír egy 1est és még azt kellene viszgálni, hogy a C oszlop elemei között van-e olyan ami nem szerepel az A oszlop elemei között és ha a feltétel igaz akkor azt kijelöli vagy D oszlopba ír valamit oda, mert így kitudm majd egészíteni az A oszlopot és nem kellene egyesével átnézni.
Mondjuk lehet a legjobb az lenne ha két munka füzeten lenne külön külön?Ebbe tudsz tud valaki segítani?
-
poffsoft
veterán
új drag, 4. labellel, némi csinosítással : [link]
Amúgy ha vba ablakban vagy , Forms/dragdrop1 <jobbklikk>:
view code: a form makrólapja
view object: maga a form (most ezt keresed)ezután a főmenüben View/Toolbox : az userform vezérlőinek menüje.
Itt a nagy A lesz a label, azt kijelölöd, és rajzolsz egyet az userformba. -
Delila_1
veterán
A VBE-ben beteszed egy modulba. Ugyanúgy alkalmazhatod, mint az Excel függvényeit. Az fx ikonra kattintva bejön a felhasználói kategóriában, de a billentyűzetről is beviheted.
Ha pl. az A1-ben van a kapcsos zárójelek nélküli útvonal és név, egy cellában erre hivatkozhatsz.
=filename(a1)
-
Delila_1
veterán
Saját függvénnyel megoldható.
Function Filename(nev As Range)
Dim bal As String, jobb As String, b As Integer
For b = Len(nev) To 1 Step -1
If Mid(nev, b, 1) <> "\" Then
jobb = Mid(nev, b, 1) & jobb
Else
Exit For
End If
Next
Filename = Left(nev, b) & "[" & jobb & "]"
End Function -
poffsoft
veterán
megoldható hogy az adott fájlokat dragdopolod- láttam már ilyen makrót..
(#28105) TrollBalint: Nem bántásból, de én az R1C1 típusú hivatkozásokat értettem a hsz-ből.
Ha valóban csak "R1C1" hivatkozásai vannak, akkor működik a módszered, de egy csomó más miatt még mindig nem fog működni a képlete (mint említettem, "," vs ";" probléma mint szeparátor, de pl. a függvénynevek is.
Azt továbbra sem értem, hogyhogy nem konvertálódik a workbook megnyitáskor. -
szatocs1981
aktív tag
Ha "szabályjal" meg tudod adni, hogy a két file hol helyezkedik el, akkor szvsz lehet automatizálni a beolvasást.
Pl.:
- ha a könyvtár mindig azonos és csak ez a két file van benne
- ha a könyvtár mindig azonos és ez a két file mindig a két legutolsó modosított file
...
..
.
Ha valamilyen szabályt fel tudsz állítani, akkor VBA-ban is el tudod érni biztonsággal.
Delila_1 által vázolt módon (FileDialogBox) is megoldható!
(csak sokat kell klikkelni, amit én speciel nem szeretek)
-
Delila_1
veterán
A lenti makróval megnyithatod az ismeretlen útvonalon lévő, ismeretlen nevű fájlodat.
Sub FileBehuzas()
Dim FD As Object, FN As String
Set FD = Application.FileDialog(3)
With FD
.AllowMultiSelect = False
.Show
If .SelectedItems.Count = 0 Then
FN = ""
MsgBox "Nem választottál fájlt", vbExclamation
Exit Sub
Else
FN = .SelectedItems(1)
End If
End With
Workbooks.Open Filename:=FN
End Sub
Új hozzászólás Aktív témák
Hirdetés
- AMD Navi Radeon™ RX 5xxx sorozat
- Épített vízhűtés (nem kompakt) topic
- Konteó topic
- Fotók, videók mobillal
- Videós, mozgóképes topik
- iPhone topik
- Hálózati / IP kamera
- Házimozi belépő szinten
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Eladó Steam kulcsok kedvező áron!
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Vírusirtó, Antivirus, VPN kulcsok
- Lenovo ThinkPad 40AF docking station (DisplayLink)
- Fotó állvány eladó
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- LG 65QNED87T / 65" - 164 cm QNED / 4K UHD / 120Hz & 3ms / HDR 10 Pro / FreeSync Premium / HDMI 2.1
- Samsung Galaxy S23 , 8/128 GB , Kártyafüggetlen
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest