- Apróbb óra érkezik a OnePlustól
- Prohardver app (nem hivatalos)
- Bemutatkozott a Poco X7 és X7 Pro
- Red Magic 10 Air - gaming telefon is lehet kecses
- iPhone topik
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Rekord vékony lesz a Z Flip7 is
- Samsung Galaxy Watch7 - kötelező kör
- Milyen okostelefont vegyek?
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
-
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
-
m.zmrzlina
senior tag
Sub masol()
Dim eleje As Long
Dim vege As Long
eleje = 2
vege = 4
Worksheets("Munka1").Rows(eleje & ":" & vege).Copy Destination:=Worksheets("Munka2").Rows(eleje & ":" & vege)
Worksheets("Munka1").Rows(eleje & ":" & vege).Delete Shift:=xlUp
End SubA fenti pár sor áthelyezi a Munka1 2.-4. sorát a Munka2 2.-4. sorába. Pontosabb megfejtéshez tudni kellene, hogy hogyan szeretnél értéket adni az eleje és vége változóknak.
-
m.zmrzlina
senior tag
válasz
komyka #25068 üzenetére
Munka1 munkalapon van a teljes lista a német elnevezésekkel, A oszlop: azonosító, B oszlop: német elnevezés.
Munka2, Munka3, Munka4 munkalapokon a három magyar lista A oszlop azonosítók, B oszlop magyar elnevezés.Ezeket a listákat (két oszlopból álló tartományokat) a névkezelővel elneveztem magyar_lista_1 magyar_lista_2 magyar_lista_3-nak.
Én a Munka1 munkalap C oszlopába tettem az eredményt a következő képlettel:
=HAHIBA(FKERES(A1;magyar_lista_1;2;0);HAHIBA(FKERES(A1;magyar_lista_2;2;0);HAHIBA(FKERES(A1;magyar_lista_3;2;0);B1)))
Természetesen ezt a képletet le kell másolnod addig amíg a német listád tart.
-
m.zmrzlina
senior tag
válasz
lumpy92 #25060 üzenetére
Valóban jó lenne, ha írnál konkrétumokat mert annak hiányában csak általánosságokat lehet írni amivel nem sokra mész.
Esetleg ilyen "Google a barátod" kezdetű hülyeséget amit én sosem tennék.
-
m.zmrzlina
senior tag
válasz
Delila_1 #24649 üzenetére
A munkamappát szövegként szoktam megadni. Utvonal="C:\mm\nn\"
Ez stimmel. Nálam ezt a
strMunkamappa = .SelectedItems(1) csinálja.Mikor a TC-ben látsz egy mappát, a dupla pontra kattintva a fölötte lévő mappába jutsz, az egy pont 8az nem látszik, de van), a főkönyvtárba visz.
Ez is oké, de az általam használt Application.FileDialog(msoFileDialogFolderPicker)-ben ez elő tud állni vagy valami más feltételt kell megadnom?
Illetve még egy kérdés, hogy ez a FolderPicker milyen tipusú változó? -
m.zmrzlina
senior tag
Van itt ez a kód. Egy részét Delila_1 egy korábbi hsz-ból loptam, az elejét pedig a neten találtam. Működik de van pár sor benne amit nem értek. Hálás lennék ha valaki tudna válaszolni a kérdéseimre.
Előre is köszi.
Sub osszesito()
Dim strMunkamappa As String
Dim munkamappa
Dim FN As String
???Milyen tipusú objektumváltozó a munkamappa???
Set munkamappa = Application.FileDialog(msoFileDialogFolderPicker)With munkamappa
.AllowMultiSelect = False
If .Show <> -1 Then Exit Sub
strMunkamappa = .SelectedItems(1)
End WithChDir strMunkamappa
FN = Dir(strMunkamappa & "\" & "*.xls", vbNormal)
Do
???Egészen pontosan mi ez a feltétel (magyarul mikor lesz FN "." vagy ".."???
If FN <> "." And FN <> ".." Then
Workbooks.Open Filename:=strMunkamappa & "\" & FNActiveWorkbook.Worksheets("nemrogzit").Range("A1").CurrentRegion.Copy Destination:=ThisWorkbook.Worksheets("nemrogzit").Range("A" & ThisWorkbook.Worksheets("nemrogzit").Range("A" & Rows.Count).End(xlUp).Row + 1)
ActiveWorkbook.Worksheets("rogzit").Range("A1").CurrentRegion.Copy Destination:=ThisWorkbook.Worksheets("rogzit").Range("A" & ThisWorkbook.Worksheets("rogzit").Range("A" & Rows.Count).End(xlUp).Row + 1)??? Itt mi az ami False???
ActiveWorkbook.Close False
End If
FN = Dir()
Loop Until FN = ""
End Sub -
m.zmrzlina
senior tag
-
m.zmrzlina
senior tag
-
m.zmrzlina
senior tag
válasz
TIMARAND77 #24623 üzenetére
=KÖZÉP(A1;20;5)
-
m.zmrzlina
senior tag
válasz
slashing #24619 üzenetére
Nem volt még soha ilyen problémám csak gugliztam egy kicsit. Hátha errefelé kell keresni a megoldást.
http://support2.microsoft.com/kb/840926
Esetleg itt:
-
m.zmrzlina
senior tag
Adott kb 50 fájl egyetlen mappában aminek az elérési útja változó. (nem adható meg előre makróban).
Változóba szeretném írni a fájlok elérési útvonalát.A tudomány(om) jelenlegi állása szerint ez az információ az Application.GetOpenFilename metódussal nyerhető ki. Mivel ez a módszer a fájlnévvel együtt adja vissza az elérési útvonalat előbb le kell nyisszantani a változó végéről a fájlnevet.
Az a kérdésem, hogy van-e olyan módszer ami közvetlenül az elérési utat adja vissza és nem kell utána még trükközni?
-
m.zmrzlina
senior tag
válasz
tombar #24488 üzenetére
Sub masol()
Range("A1:G1").Copy
elsoures = Worksheets("Munka2").Range("A" & Rows.Count).End(xlUp).Row + 1
Worksheets("Munka2").Range("A" & elsoures).PasteSpecial Paste:=xlPasteAll
End SubAz első sor kijelöli a másolni kívánt tartományt (ez nyilván nálad teljesen más)
A második megadja, hogy a Munka2 munkalap A oszlopának melyik az első üres cellája
A harmadik odamásolja a kijelölt tartományt.Meg lehet csinálni egy utasításban is:
Worksheets("Munka2").Range("A" & Worksheets("Munka2").Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteAll
Ugyanaz az eredmény csak az első valamennyivel átláthatóbb.
-
m.zmrzlina
senior tag
válasz
Fferi50 #24484 üzenetére
Este lesz rá egy kicsit több időm akkor majd végzek pár mérést különböző peremfeltételek mellett és tudatom az eredményét.
Maga a munkafüzet csak számok és dátumok szóval akár egy az egyben kitehető. Bár jelzem működik és tudom használni (főleg a mostani változtatás után) tehát csak akkor feccölj bele időt ha maga a probléma érdekes számodra.
Eseménykezelés nincs tiltva de a képernyőfrissítés elhanyagolható javulást hozott (ezt tegnap kipróbáltam).
-
m.zmrzlina
senior tag
válasz
Fferi50 #24481 üzenetére
selection.replace what:="#",replacement:=""
Ez lett a megoldás, legalább két nagyságrenddel rövidebb idő alatt fut le még akkor is ha meg van egy másik munkafüzet nyitva.
Azzal együtt továbbra sem értem, hogy miért viselkedik másképp ugyanaz a makró, ha meg van nyitva egy másik munkafüzet is.
Köszi a segítséget
-
m.zmrzlina
senior tag
válasz
Fferi50 #24474 üzenetére
Az én esetemben valóban vannak munkalapfüggvények a makróban de nem azoknál lassul a futás, hanem egy ilyen kódrészletnél:
For Each rngCella In Selection.Cells
rngCella.Value = Left(rngCella.Value, Len(rngCella.Value) - 1)
NextEz egy "%" karaktert vág le kb 35000 cella értékének a végéről.
-
m.zmrzlina
senior tag
válasz
slashing #24469 üzenetére
Nekem van ilyen makróm. Ha csak az a munkafüzet van megnyitva amiben a makró van akkor 1-2 mp egyébként halál hosszú (végig sem szoktam várni)
Biztos vagyok benne, hogy elcsesztem valamit a makróban de még kérdezni sem tudok vele kapcsolatban semmi konkrétat úgyhogy nem is túráztattam vele senkit sem itt a fórumon sem máshol.
Szerencsére csak én használom ezért tudom hogy mielőtt azt indítom bezárok minden mást és így simán lefut.
-
m.zmrzlina
senior tag
Én a
Set valami = ThisWorkbook.Worksheets("valami")
megoldást szoktam használni és eddig még jól működött.
Egy időben a makrós munkafüzet nevét adtam meg itt de arról hamar leszoktam mert kb abban a pillanatban halt meg a makró ahogy átnevezték a fájlt. És mindig átnevezték.
-
m.zmrzlina
senior tag
"A" munkafüzetben szeretnék használni pl egy =FKERES() fv-ben egy "B" munkafüzetben névkezelőben definiált tartományt.
Hogyan lehetséges ez?
-
m.zmrzlina
senior tag
válasz
Kojaszan #24450 üzenetére
Nem állítom, hogy pontosan értem a kérdésedet de ezen a linken van pár dolog a témáról.
-
m.zmrzlina
senior tag
válasz
looser #24370 üzenetére
Én validált listával (adatérvényesítés>lista) próbálkoznék, mivel ott forrásnak feltételeket is meg lehet adni (Excel2010-ben biztosan)
A1, B1, C1,-ben vannak a listák.
A1 forrása:=$F$1:$F$2
B1 forrása:=HA(A1=$F$1;$G$1:$G$3;$I$1:$I$3)
C1 forrása:=HA($B$1=$G$1;$H$1:$H$3;$J$1:$J$3)Ezzel a módszerrel én max 3 lépcsős feltételrendszert kezelnék, mert afelett egy kezelhetetlen piramisjátékká alakulna ez a megoldás.
-
m.zmrzlina
senior tag
Ez a pár sor át fogja másolni a Munka1 lap A1 cellában megadott nevű munkalap A1:B10 tartományát a Munka1 lap A2 cellában megadott nevű munkalap A1:B10 tartományába
Sub masol()
Dim strHonnan As String
Dim strHova As String
strHonnan = ThisWorkbook.Worksheets("Munka1").Range("A1").Value '"Munka2"
strHova = ThisWorkbook.Worksheets("Munka1").Range("A2").Value '"Munka3"
Worksheets(strHova).Range("A1:B10").Value = Worksheets(strHonnan).Range("A1:B10").Value
End Sub -
m.zmrzlina
senior tag
válasz
Bunken #24316 üzenetére
Nincs mit örülök, hogy sikerült.
Azt azért ellenőrizd le hogy a =DARABTELI() fv-id jó cellára hivatkoznak-e ugyanis a #24310. hsz-ban elírtam a képletet.
Az "A oszlopban vannak a számok A1-től kezdődően. B1 képlete =DARABTELI(A:A;A2)"
helyesen:
A oszlopban vannak a számok A1-től kezdődően. B1 képlete =DARABTELI(A:A;A1)
-
m.zmrzlina
senior tag
válasz
Bunken #24313 üzenetére
Ott ahol nem működik ott már a DARABTELI() sem működik vagy csak a szűrés?
Ha a már DARABTELI() sem működik lehet, hogy a szám oszlopod formátuma valójában szöveg. Próbáld meg megszorozni a számokat 1-gyel.
1. Beírsz egy 1-t valamelyik cellába ahol nem zavar.
2. Másolás
3. Kijelölöd az oszlopot amiben a számaid vannak.
4. Jobbklikk>Irányított beillesztés>Szorzás>OK
5. Az 1-et törölheted -
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.
-
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
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
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
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
ritterkrisz #24247 üzenetére
Grat...
-
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 #24241 üzenetére
-
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
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) -
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 -
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.
-
m.zmrzlina
senior tag
-
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
-
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
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
Dr. Romano #23889 üzenetére
Azt szinezi amit szeretnél?
-
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.
-
m.zmrzlina
senior tag
válasz
Dr. Romano #23881 üzenetére
-
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
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
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 #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
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
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 -
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
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
válasz
opzozi #23676 üzenetére
C1-ben van a felső küszöb, B1-ben az alsó:
=DARABHATÖBB(A1:A13;">" & B1;A1:A13;"<" & C1)
ugyanez számokkal megadva:
=DARABHATÖBB(A1:A13;>2;A1:A13;<5)
C1-D1-ben van a két küszöb, E1 az igen/nem B oszlopban az igen/nemek
(ha nagyobb C1-nél és kisebb D1-nél és )=DARABHATÖBB(A1:A13;">" & C1;A1:A13;"<" & D1;B1:B13;E1)
-
m.zmrzlina
senior tag
válasz
m.zmrzlina #23633 üzenetére
Az "A" munkafüzet két eseményében lévő makró. Természetesen lehet cizellálni őket (főleg az _Open-t) de az elv az ez.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
Dim wb As Workbook
mappa = ThisWorkbook.Path & "\"
For Each wb In Workbooks
If wb.Name <> ThisWorkbook.Name Then
wb.SaveAs Filename:=mappa & wb.Name
wb.Close
End If
Next wb
Application.DisplayAlerts = True
End Sub
Private Sub Workbook_Open()
Workbooks.Open ThisWorkbook.Path & "\B.xlsx"
Workbooks.Open ThisWorkbook.Path & "\C.xlsx"
End Sub -
m.zmrzlina
senior tag
válasz
Delila_1 #23618 üzenetére
Én tudom, hogy olyan vagyok mint Móricka akinek mindenről AZ jut az eszébe de ez tényleg csak pár sor makró. Feltéve ha nincsen képlettel előállított cellaérték mert a képletet felül fogja írni a cellaértékkel. Bár ha a Word-ös megoldás működött akkor ez is fog.
Sub nagybetu()
For Each cella In Selection.Cells
If Not IsEmpty(cella) Then
cella.Value = UCase(cella.Value)
End If
Next
End Sub
Új hozzászólás Aktív témák
Hirdetés
- Apróbb óra érkezik a OnePlustól
- AMD Ryzen 9 / 7 / 5 10***(X) "Zen 6" (AM5)
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Azonnali alaplapos kérdések órája
- Diablo IV
- LEGO klub
- Gyúrósok ide!
- Xbox Series X|S
- Kerékpárosok, bringások ide!
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- További aktív témák...
- Csere-Beszámítás! Akciós Gamer PC! R5 5500 / GTX 1070Ti Rog Strix / 32GB D4 / 500GB SSD
- ASUS Radeon HD6950 DirectCU II 2GB 256bit GDDR5 EAH6950 DCII/2DI4S/2GD5 Videokártya eladó
- Bomba ár! Dell Latitude E5570 - i5-6300U I 8GB I 256GB SSD I 15,6" FHD I HDMI I CAM I W10 I Gari!
- DELL PowerEdge R640 rack szerver - 1xGold 6138 (20c/40t, 2.0/3.7GHz), 64GB RAM,4x1G RJ, HBA330, áfás
- DELL PowerEdge R640 rack szerver - 2xGold 6138 (20c/40t, 2.0/3.7GHz), 64GB RAM,4x1G, H730 1GB, áfás
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged