-
Fototrend
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
-
m.zmrzlina
senior tag
válasz samfishR #23727 üzenetére
"A.xlsx" munkafüzetet megnyitod (ez az amiben te módosítasz nem a képletek)
Alt+F11-gyel VB editort megnyitodbal oldalon lesz a projekt tallózó ablakban, egy olyan hogy "VBAProject(A.xlsx)"
természetesen nem (A.xlsx) hanem a te fájlod neve lesz itt.
Ez alatt a ThisWorkBook-on jobbklikk majd View CodeAz így megnyíló ablakba bemáslod a 23634-es hsz-ben lévő kódot.
Ezt a fájlodat (az "A.xlsx"-t amiben te módosítasz nem a képletek) makróbarátként (.xlsm) kell menteni. Onnantól kezdve A.xlsm lesz a neve. Természetesen az "A" helyén a te fájlod neve szerepel.Ezen a két helyen munkafüzetek neveit átírod a saját munkafüzeteid neveire.
Workbooks.Open ThisWorkbook.Path & "\B.xlsx"
Workbooks.Open ThisWorkbook.Path & "\C.xlsx"Mindhárom munkafüzeted legyen ugyanabban a mappában legyen.
-
m.zmrzlina
senior tag
-
m.zmrzlina
senior tag
válasz m.zmrzlina #23765 üzenetére
Persze ha az L oszlop képleteit felülírod az értékükkel akkor a segédoszlopokat simán lehet törölni.
Kérdés az, hogy milyen könnyen tudod előállítani a (nálam) O oszlopban lévő listát.
-
m.zmrzlina
senior tag
-
m.zmrzlina
senior tag
Próbáld így:
=Vágáslista!A3&"_"&Vágáslista!S3&"_"&HA(Vágáslista!R3="";"";KÖZÉP(Vágáslista!R3;1;10)&"_"&HA(Vágáslista!Q3="";"";Vágáslista!Q3)&"_"&Vágáslista!D3)
Ha üres cella esetén szeretnél valamit csinálni, vagy nem csinálni akkor a következő képletet használd:
=HA(A1="";"üres";A1)Lefordítva: (a képlet mondjuk B1-ben van):
Ha A1 nem tartalmaz adatot akkor B1 értéke az üres szó (vagy ami az üres helyén az idézőjelek közt van) egyébként B1 megkapja A1 értékét[ Szerkesztve ]
-
m.zmrzlina
senior tag
válasz smog86 #23802 üzenetére
A szerkesztőlécen (és a megjegyzésben is) látható képlettel tudod levágni a betűt a szám mögül. Így már összeadható. Ha szóköz is van az eredeti cellában akkor a képletben lévő 2-t írd át 3-ra. Ez a megoldás csak akkor működik ha minden cellában csak 2 betű van a szám mögött.
-
m.zmrzlina
senior tag
válasz littleNorbi #23829 üzenetére
Az nem megoldás hogy levágod a cella utolsó karakterét?
Arra gondolok, hogy van-e a házszámban random előforduló "/" vagy <szóköz> ami bezavarhat egy sima
=BAL(A1;(HOSSZ(A1)-1)) fvnek
-
m.zmrzlina
senior tag
válasz littleNorbi #23851 üzenetére
A videón szereplő példában egy egyszerű, azonos szerkezetű cellaértéken (szöveg>kettőspont, szóköz> szöveg) egyszerűen meg lehet csinálni a szétosztást. Ilyen cellákon még a korábbi hsz-ban leírt fv is működne.
A te legfőbb problémád, hogy ugyanaz a karakter ("/") az egyik esetben használható mint a levágandó rész jelölője (23/A) a másik esetben nem (A épület 3/6).
Próbáld meg kigyűjteni, hogy milyen tipusú értékeid vannak és mit szeretnél belőle látni, hátha valakinek eszébe jut valami.
A további beviteleket pedig (ha lesznek) validált listákkal kell megpróbálni kezelhető formában tartani.
-
m.zmrzlina
senior tag
válasz littleNorbi #23853 üzenetére
Tudom, hogy ez nagyon sikamlós dolog (adatvédelmileg) de akkor is kéne valami fogalmunk legyen róla hogy milyen szerkezetű adattal van dolgunk.
Azt meg tudod oldani, hogy a települést (ha kell az utcát is) leválasztod és megmutatod?
-
m.zmrzlina
senior tag
válasz Delila_1 #23866 üzenetére
Én úgy értelmeztem, hogy littleNorbi-nak a C oszlopban lévő adatokra van szüksége. Ha így van akkor ez a fv kell: (Isten bocsássa meg nekem amit tettem )
Function CsakSzam(cella As Range)
Dim betu As Integer, szam As Integer
If IsNumeric(cella) Then
CsakSzam = cella
Exit Function
End If
For betu = 1 To Len(cella)
If IsNumeric(Mid(cella, betu, 1)) Then
szam = szam & Mid(cella, betu, 1)
'ElseIf Mid(cella, betu, 1) = "/" And IsNumeric(Mid(cella, betu + 1, 1)) Then
ElseIf Mid(cella, betu, 1) = "/" Or Mid(cella, betu, 1) = "-" Then
'CsakSzam = cella
CsakSzam = Left(cella, betu - 1) * 1
Exit Function
Else
CsakSzam = szam * 1
End If
Next
End Function -
m.zmrzlina
senior tag
válasz Dr. Romano #23881 üzenetére
-
m.zmrzlina
senior tag
válasz Dr. Romano #23883 üzenetére
Új még nekem ez a data.hu
Az előző megoldás nem is lehetett jó mert nem ugyanabban a sorban van az ismétlődő érték. Itt az első oszlopban szinezi azt az elemet amely megtalálható a másodikban is.
[ Szerkesztve ]
-
m.zmrzlina
senior tag
válasz Dr. Romano #23889 üzenetére
Azt szinezi amit szeretnél?
-
m.zmrzlina
senior tag
válasz m.zmrzlina #23907 üzenetére
Esetleg használd a következőt:
hanyoszlop=Range("A1").CurrentRegion.Columns.Count
Ezzel változóba tudod írni a használt tartomány oszlopainak számát, amit már kedved szerint használhatsz.
-
m.zmrzlina
senior tag
válasz tgumis #23915 üzenetére
Itt van leírva, hogy hogyan kell.
Azt a részt keresd, hogy Különböző munkafüzetben lévő cellák közötti külső hivatkozás létrehozása
-
m.zmrzlina
senior tag
válasz tgumis #23925 üzenetére
Tekintsd inkább ötletnek mint kész megoldásnak.
Sub makro1()
Dim strElerut As String
Dim strFnev As String
Dim wbk As Workbook
strElerut = ThisWorkbook.Path
If Right(strElerut, 1) <> "\" Then strElerut = strElerut & "\"
strFnev = Dir(strElerut & "*.xlsx")
Do While strFnev <> ""
Set wbk = Workbooks.Open(strElerut & strFnev)
For Each wsh In Worksheets
wsh.Unprotect
If wsh.Index > 1 Then
wsh.Range("H4").Formula = "=Munka1!G7"
End If
wsh.Protect
Next
wbk.Save
wbk.Close
strFnev = Dir
Loop
End Sub1,Biztonsági másolatot készítesz a 12 fájlodról!!!
2,Biztonsági másolatot készítesz a 12 fájlodról!!!
3,Biztonsági másolatot készítesz a 12 fájlodról!!!4,Üres munkafüzetbe másolod a makrót majd elmented abba a mappába ahol a 12 munkafüzeted van.
5,A "=Munka1!G7" helyére annak a munkalapnak a nevét írod aminek a G7 celláját hivatkozni akarod a többi munkalapra. Ezt a munkalap minden munkafüzetben legyen a legelső.
6,A wsh.Protect parancsot felparaméterezed attól függóen, hogy mit akarsz és mit nem akarsz engedni a munkalapon
7,Elindítod a makrót.
8,Imátkozol
[ Szerkesztve ]
-
m.zmrzlina
senior tag
válasz tgumis #24034 üzenetére
Próbáld ezt:
Sub kodolas()
'
' munkalap védetté tétele
For Each ws In Worksheets
ActiveSheet.Protect Password:="xxxxxx", UserInterfaceOnly:=True
Next
End Sub
Sub kikodolas()
'
' munkalap kikódolás
For Each ws In Worksheets
ActiveSheet.Unprotect Password:="xxxxxx"
Next
End Sub[ Szerkesztve ]
-
m.zmrzlina
senior tag
válasz tgumis #24036 üzenetére
Bocs, úgy látszik már késő volt tegnap.
Sub kodolas()
' munkalap védetté tétele
For Each ws In Worksheets
ws.Protect Password:="xxxxxx", UserInterfaceOnly:=True
NextEnd Sub
Sub kikodolas()
' munkalap kikódolás
For Each ws In Worksheets
ws.Unprotect Password:="xxxxxx"
NextEnd Sub
Gondolom az történt, hogy az aktív lapon megcsinálta a dolgot a többin nem.
[ Szerkesztve ]
-
m.zmrzlina
senior tag
válasz tgumis #24223 üzenetére
Ennél a sornál az idézőjelbe annak a munkalapnak a nevét írod amelyikre az eredményt másolni szeretnéd.
Set eredmeny = ThisWorkbook.Worksheets("eredmeny")Itt is kijavítod az eredmeny-t a munkalap nevére és ha nem az A tartományba akarod kiiratni az eredményt azt is megváltoztathatod (lényeg, hogy 4 oszlopnyi tartományt adj meg)
eredmeny.Range("A1:D" & j).Value = Application.Transpose(tomb)Option Base 1
Sub nagyobbnulla()
Dim tomb()
ReDim tomb(4, 1)
Set eredmeny = ThisWorkbook.Worksheets("eredmeny")
j = 1
For Each ws In Worksheets
For Each cella In ws.Range("AO1:AO49")
If cella.Value > 0 Then
For i = 1 To 4
tomb(i, j) = ws.Cells(cella.Row, cella.Column - (4 - i)).Value
Next
ReDim Preserve tomb(4, j + 1)
j = j + 1
End If
Next
Next
eredmeny.Range("A1:D" & j).Value = Application.Transpose(tomb)
End Sub[ Szerkesztve ]
-
m.zmrzlina
senior tag
válasz m.zmrzlina #24224 üzenetére
Na szóval:
Itt is kijavítod az "eredmeny"-t a munkalap nevére és ha nem az A:D tartományba akarod kiiratni az eredményt azt is megváltoztathatod (lényeg, hogy 4 oszlopnyi tartományt adj meg)
eredmeny.Range("A1:D" & j).Value = Application.Transpose(tomb)[ Szerkesztve ]
-
m.zmrzlina
senior tag
válasz m.zmrzlina #24225 üzenetére
Úgy látszik már késő van (vagy már korán)
Set eredmeny = ThisWorkbook.Worksheets("eredmeny")
eredmeny.Range("A1:D" & j).Value = Application.Transpose(tomb)Helyesen:
Vagy minden eredmeny-t átírsz a munkalapod nevére vagy csak az idézőjelben lévőt.
Vagy csinálsz egy eredmeny nevű munkalapot és hagyod az egész makrót a fenébe úgy ahogy van. -
m.zmrzlina
senior tag
válasz ritterkrisz #24241 üzenetére
-
m.zmrzlina
senior tag
válasz ritterkrisz #24245 üzenetére
A válaszomban a képen a szerkesztőlécen lévő mintát kövesd:
=A3&" "&B3&" "&.....stb stb
Az idézőjelek közötti szóközöket fogja beilleszteni a cellaértékek közé.
-
m.zmrzlina
senior tag
válasz ritterkrisz #24247 üzenetére
Grat...
-
m.zmrzlina
senior tag
válasz LordVader80 #24264 üzenetére
Ha folyamatos a táblázatod (egyenként növekednek a számok) ahogy a kérdésben írod akkor nem kell feltételes formázással bajlódnod.
Formázás táblázatként>Új táblázatstílus előhozza a képen lévő ablakot és itt beállíthatod a kívánt stílust.
Az első és második sorsávnál 4-re állítod a sávméretet a formátumnál megadod a színt.Aztán kijelölöd a táblázatodat majd Formázás táblázatként és a legfelső sorban az Egyéni közt ott lesz az előbb létrehozott stílusod.
Ez a megoldás nem lesz tekintettel a cellaértékekre mint a feltételes formázás.
-
m.zmrzlina
senior tag
válasz LordVader80 #24267 üzenetére
Akkor szerintem nem úszod meg.
Feltételes formázás >Cellakijelölési szabályok>Két érték között
Itt megadod a határértékeket és a határokhoz tartozó stílusokat.
-
m.zmrzlina
senior tag
válasz hülyegyerek #24304 üzenetére
Bemásolnád ide a makrót ami a munkafüzetben van?
Hátha valaki kiszúrja,hogy hol akad ki. -
m.zmrzlina
senior tag
válasz hülyegyerek #24306 üzenetére
Miután megnyitottad a munkafüzetet nyomsz egy ALT+F11-et. Ekkor megnyílik a VBA szerkesztő. Itt a jobb oldalon található ablakból a szokásos Ctrl+C Ctrl+V-vel
-
m.zmrzlina
senior tag
válasz Bunken #24309 üzenetére
Két lépésben tudok rá tippet.
A oszlopban vannak a számok A1-től kezdődően. B1 képlete =DARABTELI(A:A;A2)
Ezt lemásolod amíg vannak számaid az a oszlopban. Ezzel megszámoltuk, hogy melyik szám hányszor szerepel.Ezután Szűrés>Speciális
Helyben szűrje
Listatartomány $A$1:$B$3011
Szűrőtartomány $B$1:$B$3011Csak az egyedi rekordok megjelenítése bekattintva
Mostmár az A oszlopban minden szám csak egyszer látszik és mellette a szám, hogy valójában hányszor található a listában.
Új hozzászólás Aktív témák
- PHP programozás
- Forza sorozat (Horizon/Motorsport)
- PlayStation 5
- Politika
- Windows 10
- Mobil flották
- Mibe tegyem a megtakarításaimat?
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- További aktív témák...
- AKCIÓ! - STEAM kulcsok / Punch Club, Oddworld: Soulstorm, Children of Morta, stb. - 2024.05.16.
- Windows, Office licencek a legolcsóbban, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Autómatricák a legjobb minőségben, több ezer minta! PH tagoknak 30% kedvezmény!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs