Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- bb0t: Ikea PAX gardrób és a pokol logisztikája
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- GoodSpeed: Márkaváltás sok-sok év után
- D@reeo: Send to qBittorrent Firefox kiegészítő (with SavePaths)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- Viber: ingyen telefonálás a mobilodon
-
LOGOUT
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
-
Delila_1
veterán
válasz
m.zmrzlina
#17681
üzenetére
Ez is egy módszer.
-
Delila_1
veterán
válasz
m.zmrzlina
#17678
üzenetére
Makróban
dim utvonal$
utvonal$=range("A1"), ahol az A1 -> C:\almappa\al_almappa\ -
wjani
tag
válasz
m.zmrzlina
#17655
üzenetére
Szia!
Létezik egy olyan makró utasítás ami az ActiveWorkbook.Path nevet viseli.
Ezzel a saját mappájában tudsz hivatkozni, vagy ehhez a mappához tudod viszonyítani.Üdv.
Wjani
-
elmouse
aktív tag
válasz
m.zmrzlina
#17661
üzenetére
Ez az! Köszönöm!

Én is valami ilyennel próbálkoztam, csak a macskakörmök helyével nem voltam tisztában.
Még egyszer köszi! -
Delila_1
veterán
válasz
m.zmrzlina
#17595
üzenetére
Nem biztos, de valószínűleg így kell megadnod a területet:
Range(Selection) -
Dr. Student
senior tag
válasz
m.zmrzlina
#17558
üzenetére
Köszönöm kipróbálom.
-
Melorin
addikt
válasz
m.zmrzlina
#17537
üzenetére
Köszönöm, ez hasznos volt, főleg az cella üressé tétele

-
Mutt
senior tag
válasz
m.zmrzlina
#17484
üzenetére
Hello,
Azt szeretném a makróval, hogy jelezze, hogy a fenti példánál pl febr 23.-a hiányzik...
Makrós megoldás már jött rá, de hadd mutassak be egy nem makrósat. Persze vannak hátrányai, de okulásra tökéletes lehet.
A képen látható, hogy a dátumok a B1-től kezdve vannak felsorolva, AB1-ig mennek és csak 1 dátum hiányzik most, mégpedig február 7-e (sárgával jelöltem). Két megoldás is van, az első a SZORZATÖSSZEG jól műkődik, ha csak 1 db nap hiányzik. A CSE már több nap esetén is jó, ilyenkor az első hiányzót adja vissza.
Nézzük őket:
=ELTOLÁS(AB1;0;-SZORZATÖSSZEG((NAP(B1:AB1)-(OSZLOP(B1:AB1)-1))))+1
- Itt a lényeg SZORZATÖSSZEG-ben van, amely úgy múkődik hogy megnézi a cellában (pl Q1) lévő dátum napját (pl. 2013.02.17 -> 17) és hogy ez a cella hanyadik oszlopban van (OSZLOP(Q1) -> 17) és a kettőt kivonja egymásból.
- Ha a napok egymást követik, akkor a nap száma és az oszlop száma egyezik, különbségük 0 lesz; de ha hiányzik egy nap akkor már 1-et fogunk kapni különbségnek. (Mivel az adatok nem az első oszlopból indulnak (ott most a komment van), ezért 1-et kivonok az oszlopszámából, így kapok B oszlopra 1-et, C-re 2-t stb.)
- Tehát a SZORZATÖSSZEG((NAP(B1:AB1)-(OSZLOP(B1:AB1)-1))) pl. ilyen eredményt fog adni {0;0;0;0;0;0;1;1;1;1;1....}. Ami azt jelenti hogy az első 6 nap okés, de a 7-nél csúszás van. A SZORZATÖSSZEG ezeket az 1-eket össze fogja adni, és megkapod, hogy hány napnál nem egyezett a napszám és az oszlopszám.
- Ennek ismeretében már könnyedén ki lehet választani az ELTOLÁS (OFSZET) függvénnyel, hogy melyik nap csúszott el, egyszerűen csak a napok listájának végéről (az AB1 esetemben) a SZORZATÖSSZEG szerint megadottszor kell visszamenni. Ehhez -1-el megszoroztam a SZORZATÖSSZEG eredményét,
- Így megkapjuk, hogy az utolsó jó nap február 6-a volt vagyis +1 nappal később van a bibi.A másik képlet csúnyább, de kezeli azt az esetet ha több nap is hiányzik a listából:
{=ABS(MIN(HA((NAP(B1:AB1)-(OSZLOP(B1:AB1)-1))*(OSZLOP(B1:AB1)-1)<>0;(NAP(B1:AB1)-(OSZLOP(B1:AB1)-1))*(OSZLOP(B1:AB1)-1))))}
- Itt a lényeg ugyanaz mint előbb volt, vagyis keressük azokat az eseteket ahol NAP(cella) és OSZLOP(cella) nem egyenlő.
- Valójában azonban itt a különbséget megszorzom az aktuális nap helyével, tehát nem 0 és 1-ek lesznek, hanem 0 és a megfelelő napok száma, pl. {0;0;0;0;0;0;7;8;9;10; stb}.
- A végén ebből a listából már csak a 0-nál nagyobb legkisebb számot kell kiválasztani, erre van a HA és a <>0 közötti rész.
- A képlet eredmény az a nap száma, amelyik hiányzik.
- Mivel se a NAP, se az OSZLOP, sem az ABS függvények nem kezelnek tartományokat, ezért CSE-ként kell felvinni.üdv.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#17537
üzenetére
Hát persze hogy elírtam.
Egy zárójel elfelejtődött bezáródni.=HA(HIBÁS(FKERES(I20;J20:K23;2;1));"";FKERES(I20;J20:K23;2;1))
-
Delila_1
veterán
válasz
m.zmrzlina
#17513
üzenetére
Nem hekk, hukk!
-
Delila_1
veterán
válasz
m.zmrzlina
#17511
üzenetére
Második kör, felhasználva a makródat.
Sub szamol()
Set ter = Application.InputBox("Jelöld ki a terület:", "Terület bekérése", Type:=8)
For i = 1 To 30
For Each cella In ter
If cella.Value = i Then
mennyi = mennyi + 1
End If
Next
Cells(1, 22) = "Szám": Cells(1, 23) = "Darabszám"
Cells(i + 1, 22) = i
Cells(i + 1, 23) = mennyi
mennyi = 0
Next
End Sub -
Delila_1
veterán
válasz
m.zmrzlina
#17495
üzenetére

-
Delila_1
veterán
válasz
m.zmrzlina
#17491
üzenetére
Lapnévből dátum a cellákba:
Sub mm()
Dim lap As Integer
For lap = 2 To 3
Sheets(1).Cells(lap, 1) = CDate(Sheets(lap).Name)
Next
End Sub -
Delila_1
veterán
válasz
m.zmrzlina
#17491
üzenetére
Nem tudod felcserélni a sorrendet? Először a cellákba viszed be a dátumokat, utána alkotsz belőlük lapneveket, majd sorba rakod a lapokat. Ezután jöhet az ellenőrzés.
-
Delila_1
veterán
válasz
m.zmrzlina
#17488
üzenetére
Mert ebben feltételeztem, hogy nem alakítod át a dátumokat szöveggé. Írtam is, hogy nincs szükség a konvertálásra.
-
Barcley
csendes tag
válasz
m.zmrzlina
#17477
üzenetére
Köszönöm mindkettőtök válaszát!
Az első verzió vált be. Működik. Nem értem így már én is próbáltam de biztos valami stilisztikai hibát követtem el.
Delila válaszát itt azért nem tudom használni, mert a figyelt képlet nagyon sok cella változásától függ, de köszönöm!
Üdv.
-
Delila_1
veterán
válasz
m.zmrzlina
#17484
üzenetére
Ehhez nem kell a dátumokat átalakítani.
Sub Van_e()
Dim oszlop%
For oszlop% = 6 To 10
If Cells(1, oszlop) <> Cells(oszlop + 1) - 1 Then _
MsgBox "Hiányzik a(z) " & Cells(1, oszlop) + 1 & " dátum."
Next
End Sub -
Delila_1
veterán
válasz
m.zmrzlina
#17482
üzenetére
Az F oszlopba íratod a dátumnak látszó értéket. A G oszlopba importálással kerülnek a dátum az értékek?
Ezek 1 nappal nagyobbak, mint az azonos sorban lévő F-ek? A G oszlopban szövegesek az értékek? -
Delila_1
veterán
válasz
m.zmrzlina
#17480
üzenetére
És az összejött?
-
Delila_1
veterán
válasz
m.zmrzlina
#17477
üzenetére
Gyorsabb vagy, és még egyszerűbb is, amit írtál!

-
Delila_1
veterán
válasz
m.zmrzlina
#17474
üzenetére
Range("B1") = Format(Range("A1"), "yyyy.hh.dd.")
A B1 cellába írja az A1 értékét a megadott formában.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#17470
üzenetére
Úgy tűnik találtam egy megoldást. (de hogy miért mindig 5 perccel azután, hogy kiposztolom a kérdést)

-
motinka
tag
válasz
m.zmrzlina
#17209
üzenetére
köszönöm a válaszod és a makrót is, de sajnos valamiért nem működik.
-
Delila_1
veterán
válasz
m.zmrzlina
#17189
üzenetére
Szívesen.

-
Delila_1
veterán
válasz
m.zmrzlina
#17184
üzenetére
Nézd meg ezt a kis makrót, ami az "azonosító" tartalmú cellát keresi meg az aktív lapon.
Sub azonosito_oszlopa()
Dim C As Range
Set C = ActiveSheet.Cells.Find("azonosító")
If Not C Is Nothing Then
MsgBox "Az azonosító mező a(z) " & C.Column & ". oszlopban van"
Else
MsgBox " Az azonosító mező nem található."
End If
End Sub -
Delila_1
veterán
válasz
m.zmrzlina
#17180
üzenetére
Próbáltad lenullázni a hibakódot a hianyzoport végén on error goto 0-val?
-
Mutt
senior tag
válasz
m.zmrzlina
#17163
üzenetére
Hello,
Van még egy rövidebb megoldás is:
=TÖBBSZ.KEREKÍT(A1;2,5)Ezzel az a gond, hogy a kerekítés szabályai szerint a 88.5-nél 87.5-et fog visszadni, mivel ez közelebb van, mint a 90.
Itt van egy másik elvetemült képlet ötletelésnek:
=KEREK.LE(A1;-1)+VÁLASZT(MARADÉK(INT(A1);10)+1;0;2,5;2,5;5;5;5;7,5;7,5;10;10)Az első része (a KEREK.LE) megadja tizes helyiértékre kerekítve a számot (pl. 88,5 -> 80), amelyhez vagy 0-t vagy 2,5-et vagy 5-öt, vagy 7,5-et vagy 10-et adunk attól függően, hogy az egyes helyiérték maradéka mennyi.
A képlet előnye, hogy külön beállítható, hogy mekkora maradéknál mennyit adjuk az első számhoz.üdv.
-
Mutt
senior tag
válasz
m.zmrzlina
#17157
üzenetére
Hello,
Ezek a lépések kellenek neked.
1. Hozz létre egy beviteli listát (Active X).
2. A ListFillRange-be add meg a választható listát.
3. A munkalap change eseményéhez add ezt a kódot.
'csak akkor fut, ha az A-oszlopban történik változás
If Target.Column = 1 Then
'beállítjuk hogy a
ComboBox1.LinkedCell = "B" & Target.Row
'beugrunk a beviteli listába
ComboBox1.Activate
End IfEnterhez köthető eseménye nincsen, de pl. ESC-es van ha ez is jó neked, akkor használd ezt a kódot.
Private Sub ComboBox1_LostFocus()
Range("A" & Range("A" & Rows.Count).End(xlUp).Row + 1).Activate
End SubTehát így fogod tudni használni:
1. A-oszlopba írsz vmit.
2. Enter-rel (vagy máshogy) kilépsz a cellából beugrik a beviteli listába.
3. Kiválasztod az értéket, majd nyomsz Esc-et és az A-oszlop első üres sorába kerülsz.Ide felraktam a mintát.
üdv.
-
Herczi
senior tag
válasz
m.zmrzlina
#17163
üzenetére
Eszméletlen, köszi, örök hála

-
Herczi
senior tag
válasz
m.zmrzlina
#17161
üzenetére
Azért nem írhatom felül, mert már a kerekítendő szám is egy képlettel jön ki. Ez pl. a B4 cellám: =(0,58*A28), amit fel szeretnék kerekíteni. Nem nagy tragédia amúgy ha nem lehet, ennyit fejben is megtud az ember, inkább csak esztétikai jelentősége lett volna, köszi szépen

-
Herczi
senior tag
válasz
m.zmrzlina
#17159
üzenetére
Köszi, az megoldható valahogy, hogy ne egy másik cellába írja át az eredményt, ha nem az eredetit "javítsa" úgymond?
-
lappy
őstag
válasz
m.zmrzlina
#17128
üzenetére
Szerintem a képletek a C1=C2; C2=D2; C3=F3

-
Mutt
senior tag
válasz
m.zmrzlina
#17111
üzenetére
Hello,
Ezt is lehet használni:
Sub FindCreationDate()
Dim fso As Object
Dim f As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile("c:\autoexec.bat")
MsgBox f.DateCreated
End SubEzek a jellemzők kérdezhetők le:
Attributes : Return the file attribute (read only,hidden etc.)
Copy : Copy a file
DataCreated : Return creation date
DateLAstModified : Return date of the last modification
Delete : Delete a file
Drive : return the drive where the file is
Move :allow to move the file
Name : return the file name
ParentFolder : return the parent folder name of the file
Path : Return the full file path(include the file name)
ShortNAme : return the short name of the file
Size : File dimention
Type : return file typeüdv.
-
Mutt
senior tag
válasz
m.zmrzlina
#17110
üzenetére
Hello,
Érvényesítési listában az autocomplete nem műxik, azonban ActiveX-es beviteli listában igen.
Ez nagyon hasonlít az érvényesítésre, de annál többet tud.A Fejlesztőeszközök fülön tudsz ilyet beszúrni. A tulajdonságainál (ListFillRange) pedig be tudod állítani hogy mely listából lehessen kiválasztani. A hátránya, hogy ez nem cellában van, így az eredményét ha fel akarod használni akkor valahol meg kell jeleníteni (LinkedCell opció).
Alternatív megoldás pedig lehet, hogy a 250 elemet vhogy csoportosítod és több beviteli listán keresztül választatod ki a felhasználóval a konkrét értéket. Erről nem sok feljebb voltak megoldások.
üdv.
-
Delila_1
veterán
válasz
m.zmrzlina
#17114
üzenetére
Szívesen.
-
Mutt
senior tag
válasz
m.zmrzlina
#17070
üzenetére
Hello,
Automatikus kiegészítés ActiveX-es beviteli listával (combobox) is megoldható, illetve ahogy Excelbarát is írta, a cella alatt/felett összefüggő tartományként felsorolt adatokkal.

üdv.
-
Excelbarat
tag
válasz
m.zmrzlina
#17070
üzenetére
Hi!
Erre egy elég fura megoldást találtam:
Nálam úgy működött hogy ahol a lista van fogtam a sorait elrejtettem (nem szükséges csak az esztétikum miatt) és közvetlen alatta lévő sorban adatérvényesítéssel csináltam listát. Sajnos csak így jött össze... ha 1 sor kihagytam már nem működött az autokiegészítés a listában. -
Delila_1
veterán
válasz
m.zmrzlina
#17068
üzenetére
Az On Error Resume Next megadásakor nem áll le a program, hanem a következő sorra ugrik.
Az On Error Goto 0 kapcsolja ki.Amit küldtem, abban az On Error Goto Hiba sorral a Hiba címkére küldöm hiba esetén, ami egy üzenetet küld arról, hogy létezik már azonos nevű lap.
-
Delila_1
veterán
válasz
m.zmrzlina
#17066
üzenetére
Elküldöm az én füzetemet.
-
Delila_1
veterán
válasz
m.zmrzlina
#17063
üzenetére
Ez a módosítás csak a futás idejét befolyásolja, a működését nem.
-
Delila_1
veterán
válasz
m.zmrzlina
#17057
üzenetére
Nálam hibára fut, ahogy várod.
Többször láttam, hogy a for-next ciklusban a tól-ig határt a valami.count-tal adod meg. Ez azt eredményezi, hogy szegény gépnek minden ciklusban ki kell számolnia, mennyi az a bizonyos count. Célszerűbb egy változóban előre megadni ezt az értéket, gyorsít a futáson.
-
Delila_1
veterán
válasz
m.zmrzlina
#17046
üzenetére
Szívesen.
Mutt is írt egy változatot, nézd meg.
-
Delila_1
veterán
válasz
m.zmrzlina
#17035
üzenetére
On Error Resume Next
Workbooks.Open Filename:= utvonal & fájlnévHa már meg van nyitva az utvonal és a fájlnév változókban meghatározott fájl, nem fut hibára a makró.
-
Delila_1
veterán
válasz
m.zmrzlina
#16874
üzenetére
Nekem csak 2007-es verzióm van, de azért küldd el, ha gondolod, megnézem.
-
Delila_1
veterán
válasz
m.zmrzlina
#16872
üzenetére
Be van kapcsolva az Analysis ToolPak - VBA nevű bővítményed?
-
Delila_1
veterán
válasz
m.zmrzlina
#16870
üzenetére
Sub mm()
Range("J3:J15000") = "=COUNTIFS(A:A,G3,B:B,H3,C:C,I3)"
Columns("J:J").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub -
Delila_1
veterán
válasz
m.zmrzlina
#16868
üzenetére
Makró nélkül, 2 segédoszloppal.

-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#16867
üzenetére
Időközben próbáltam ezt a változatot is:
Range("I3").Select
Do While ActiveCell.Value = -1
strKeplet = "=DARABHATÖBB(A:A;G" & ActiveCell.Row & ";B:B;H" & ActiveCell.Row & ")"
ActiveCell.Offset(0, 1).Value = strKeplet
ActiveCell.Offset(1, 0).Select
LoopEbben az esetben a:
ActiveCell.Offset(0, 1).Value = strKeplet
sor ad Application-defined or object-defined error-t. -
hallgat
csendes tag
válasz
m.zmrzlina
#16818
üzenetére
Mármint mit?

A cellát kézzel vettem fel a munkalap egy távol eső sarkában, értéke állandó 1.
Ennek másolását szorzással viszont már a makró csinálja. -
hallgat
csendes tag
válasz
m.zmrzlina
#16812
üzenetére
Szia!
Köszönöm!Közben egy favágó módszerrel megoldottam.
Felvettem egy cellát, aminek az értéke 1, majd ezt másolom az átalakítandó cellákra irányítottbeillesztéssel, a szorzást választva.
Nem túl szép, de működik
-
Delila_1
veterán
válasz
m.zmrzlina
#16762
üzenetére
Nagyon jó. nem ismertem. Köszi!

-
Delila_1
veterán
válasz
m.zmrzlina
#16758
üzenetére
Kibővítettem arra az esetre, ha a felhasználó össze-vissza kattintgat. Megeshet, hogy először rákattint a nincskutyára – ezzel felszabadítja a macsekos részt –, utána rájön, hogy tegnap kapott egy ebet. Ekkor újra le kell tiltani a macskákat. A "Figy" egy címke, ide jön a figyelmeztetés.
A start marad, ahogy volt.
Private Sub Vankutya_AfterUpdate()
If VanKutya = True And DbKutya = "" Then
DbKutya.Enabled = True
VanM.Enabled = False
NincsM.Enabled = False
DbM.Enabled = False
Figy = "Írd be a darabszámot!"
Else
DbKutya.Enabled = False
Figy = ""
End If
End Sub
Private Sub NincsKutya_AfterUpdate()
If NincsKutya = True Then
DbKutya.Enabled = False
VanM.Enabled = True
NincsM.Enabled = True
DbM.Enabled = True
Figy = ""
Else
DbKutya.Enabled = True
Figy = "Írd be a darabszámot!"
End If
End Sub
Private Sub DbKutya_AfterUpdate()
If DbKutya > "" Then
VanM.Enabled = True
NincsM.Enabled = True
DbM.Enabled = True
Figy = ""
Else
VanM.Enabled = False
NincsM.Enabled = False
DbM.Enabled = False
Figy = "Írd be a darabszámot!"
End If
End Sub -
Delila_1
veterán
válasz
m.zmrzlina
#16757
üzenetére
A figyelmeztetést beírhatod egy labelbe is, szép pirossal, ahogy illik.

-
Delila_1
veterán
válasz
m.zmrzlina
#16758
üzenetére
Remélem, a nevekből kitalálod, melyik mit takar.
A form indításánál a második blokk tagjainak az elérését letiltom, és csak akkor szabadítom fel, ha vagy nincs kutya, vagy van, és a darabszámot megadtad.Sub start()
UserForm1.VanM.Enabled = False
UserForm1.NincsM.Enabled = False
UserForm1.DbM.Enabled = False
UserForm1.Show False
End SubPrivate Sub Vankutya_AfterUpdate()
If VanKutya = True Then
DbKutya.Enabled = True
Else
DbKutya.Enabled = False
End If
End Sub
Private Sub NincsKutya_AfterUpdate()
If NincsKutya = True Then
DbKutya.Enabled = False
VanM.Enabled = True
NincsM.Enabled = True
DbM.Enabled = True
Else
DbKutya.Enabled = True
End If
End Sub
Private Sub DbKutya_AfterUpdate()
VanM.Enabled = True
NincsM.Enabled = True
DbM.Enabled = True
End Sub -
Delila_1
veterán
válasz
m.zmrzlina
#16755
üzenetére
A két OptionButton AfterUpdate eseményéhez kell kapcsolni a makrót, nem a kerethez, hiszen a beviteli textbox ezen belül van. A TextBox1 a "Hány db" textbox neve.
Private Sub OptionButton1_AfterUpdate()
If OptionButton2 = False Then
TextBox1.Enabled = True
Else
TextBox1.Enabled = False
End If
End Sub
Private Sub OptionButton2_AfterUpdate()
If OptionButton2 = True Then
TextBox1.Enabled = False
Else
TextBox1.Enabled = True
End If
End SubNem pontosan a kérdésedre válaszoltam, de az is fontos, hogy ha nincs kutyád, akkor nem adhatod meg a darabszámát.
Ennek a mintájára már le tudod tiltani a következő kérdésre történő válaszadást. -
m.zmrzlina
senior tag
válasz
m.zmrzlina
#16499
üzenetére
Még annyi hozzá, hogy jelenleg fordítva működik a makró. Van pártíz sor és 10 oszlop a tömbben. Az oszlopok számát tudom növelni szükség szerint, majd amikor feltöltöttem akkor
ranCelterulet.Value = Application.Transpose(varSpss_adatsor())
paranccsal iratom ki a szükséges formátumban.
Ez itt azt jelenti, hogy ne is próbálkozzak sorok hozzáadásával mert csak az oszlopok bővíthetőek?
Minél többet olvasok utána annál kevésbé értem.
-
Mutt
senior tag
válasz
m.zmrzlina
#15663
üzenetére
Range(oszlop1&":"&oszlop2).Columns.count-1
-
Delila_1
veterán
válasz
m.zmrzlina
#15644
üzenetére
Sub mm()
Dim oszlopszam%, oszlop$
oszlopszam% = 3
oszlop$ = Chr(oszlopszam% + 64)
Range(oszlop$ & ":" & oszlop$).Select
End Sub -
poffsoft
veterán
válasz
m.zmrzlina
#15586
üzenetére
"a nyári időszámítás március utolsó vasárnapján kezdődik, és október utolsó vasárnapjáig tart. Ennek megfelelően minden évben más dátumra esik, de az átállítás napja mindig vasárnap. Az óraátállítás az UTC szerint hajnali 1 órakor történik, vagyis Magyarországon márciusban helyi idő szerint 2 órakor előre, októberben 3 órakor vissza kell állítani az órákat."
Temptime= Cells(ActiveCell.Row, 6).Value + Cells(ActiveCell.Row, 5).Value - shift
' ellenőrizd le, hogy téli vagy nyári időpont a Temptime
If summer then temptime=temptime+ (1/24)
ActiveCell.Offset(0, 1).Value = temptimegoogle első találata

-
Delila_1
veterán
válasz
m.zmrzlina
#15507
üzenetére
Örülök, hogy sikerült.
-
Delila_1
veterán
válasz
m.zmrzlina
#15477
üzenetére
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#15476
üzenetére
ami a '=ÖSSZEFŰZ(KÖZÉP(G3;7;4);".";KÖZÉP(G3;1;2);".";KÖZÉP(G3;4;2)) képlet VBA megfelelője.
Pontosabban a '=ÖSSZEFŰZ(KÖZÉP(F2;7;4);".";KÖZÉP(F2;1;2);".";KÖZÉP(F2;4;2)) képlet VBA megfelelője.
Menet közben a képkivágáshoz odébbtettem a tartományt.
-
Sziszmisz
csendes tag
válasz
m.zmrzlina
#13886
üzenetére
igen, csak a példákban más, de még mindig az előrébb huzogatás lenne a legegyszerűbb megoldás eddig.
kedves thee-től kaptam, de ez már komplexebb problémát ölel fel, csak nem akartam regényt írni:
http://data.hu/get/5139947/arlistarendezo_cst03.xls -
Sziszmisz
csendes tag
válasz
m.zmrzlina
#13882
üzenetére
Woww, ez így jól hangzik, kezdésnek nagyon jó, de még így is napokba/hetekbe telne mire a teljes adatbázisunk, összes exelét egyesével kijelölgetném. Nincs erre bármiféle automatizálás, hogy valami alapján felismerje mit kell hozzáfűzni??
köszönöm: Sziszmisz
Válasz: Sajnos ez teljesen változó.... ezért gondolkodtam az egy oszloppal előrébb kihúzásban és erre tanácsolták nekem azt hogy egy ha="" feltétellel megcsinálhatnám(persze ezt beleágyazva a már megcsinált összefűz függvényembe), csak azt nem tudom hogyan definiálhatnám hogy a legutóbbi nem üres cellát fűzze hozzá.
De ez csak egy ötlet, bármire vevő vagyok

-
Sziszmisz
csendes tag
válasz
m.zmrzlina
#13880
üzenetére
Köszönöm a segítséget, de itt nem pár darab, hanem excelenként több ezer sorról és rengeteg excelről van szó, valamiféle automatizálást szeretnék erre kitalálni, amit a már meglévő függvényeimbe tudnék beágyazni, mert nem csak ennyi a probléma. Esetlegesen még arra gondoltam kihúznám a hozzáfűzendő értékeket mauálisan egy oszloppal előrébb.
Lényeg az lenne hogy mindig az aktuális szöveget fűzze hozzá az alatta lévőkhöz. Remélem sikerült érthetően lekaparnom....
-
Delila_1
veterán
válasz
m.zmrzlina
#13876
üzenetére
Azért tettem csillagot a hol.van függvény feltételének az elejére is.
Kiegészítheted az INDEX függvénnyel:
=INDEX(H:H;HOL.VAN("*"&BAL(I1;2)&"*";H:H;0);1)
ami az I mellé írja a H oszlopban lévő megfelelőjét, de mint írtam, nem lesz teljesen jó, csak ad némi támaszt.
-
Delila_1
veterán
válasz
m.zmrzlina
#13874
üzenetére
Valami ilyen segíthet, de nem 100%-os:
=HOL.VAN("*"&BAL(I1;2)&"*";H:H;0)
Ahol az I oszlopban nincs adat, ott 1-et ír találati helynek.
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#13760
üzenetére
Ez viszont:
=DARABHATÖBB(B10:M10;"=alma";B11:M11;"=banán")
1-et ad vissza, ha mindkettő benne benne van a hozzá tartozó kritériumtartományban és 0-t ha bármelyik hiányzik.
Én viszont azt szeretném ha azonos kritériumtartománnyal is működne a képlet.
-
Delila_1
veterán
válasz
m.zmrzlina
#13563
üzenetére
Az adat_3:adat_7, és az adat_10:adat_15-öt (esetleg az adat_18:adat_19-et is) ciklusban íratnám be. Akkor csak az adat_1 és adat_2 van szólóban.
sor = 1
For oszlop = 4 To 8
Cells(oszlop + 13, 3) = Cells(sor, oszlop)
NextFejreálltam a próbánál. Indítottam, és nem csinált semmit. Aztán rájöttem, hogy a belinkelt képedet néztem, az nem változott.

-
Delila_1
veterán
válasz
m.zmrzlina
#13559
üzenetére
Nem látom a rendszert, pedig a programok erre épülnek.
-
Delila_1
veterán
válasz
m.zmrzlina
#13497
üzenetére
Vegyük, hogy a Munka1 lap B4 cellájába tennéd a linket.
Ne tedd be, csak egy szöveget írj oda, ami utal az ugrás helyére.
A lap kódlapjára:Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$4" Then _
Application.Goto Sheets(2).Range("U66"), Scroll:=True
End Subfelhasználva Fire előbbi hozzászólását.
-
válasz
m.zmrzlina
#13497
üzenetére
nem tudom, hogy ezt a linkel hogy hozod össze, de az biztos, hogy így lehet(ha jól értettem, amit kérdeztél) Itt az U66-os cella lesz a kliens terület bal felső sarkába görgetve.
Application.Goto Range("U66"), Scroll:=True
-
bugizozi
őstag
válasz
m.zmrzlina
#13429
üzenetére
mondjuk nekem a Mindent kijelölő gomb jobban tetszik

-
Delila_1
veterán
válasz
m.zmrzlina
#13084
üzenetére
A HOL.VAN megadja az oszlop sorszámát, a KARAKTER átalakítja az oszlop betűjelére. Ehhez csak annyit kell tudni, hogy az A karakter ASCII értéke 65.
A KARAKTER függvény a paraméterében megadott számot alakítja betűvé.
Szerk.: szívesen.
-
Delila_1
veterán
válasz
m.zmrzlina
#13082
üzenetére
H2-be: =KARAKTER(HOL.VAN(G1;A1:E1;0)+64)
G3-ba: =HA(DARABTELI(INDIREKT(H2&":"&H2);G2)>0;"van";"nincs") -
föccer
nagyúr
válasz
m.zmrzlina
#13079
üzenetére
Jah, én még 2003-as excelt használok.

Akkor marad a segédoszlopos megoldás. Annál egyszerűbb nem lesz.
üdv, föccer
-
föccer
nagyúr
válasz
m.zmrzlina
#13067
üzenetére
Nem értem ezt a felirat szűrést. Egy képet be tudnál szúrni, hogy hogy néz ki a tábla, és hogy milyen végeredményt szeretnél elérni?
üdv, föccer
-
föccer
nagyúr
válasz
m.zmrzlina
#13064
üzenetére
Simán állítsd be a legfelső sorra az autoszűrőt, és ott válaszd az egyéni szűrést, ahol 2 feltételt tudsz megadni akár és akár vagy kapcsolóval.
Ha ez is kevés, akkor csinálj egy segédoszlopot, amiben valamilyen HA() függvénnyel kiíratsz egy számot, attól függően, hogy milyen kombinációt akarsz megjeleníteni. Ezután csak erre a számra kell rászűrnöd autószűrővel.
üdv, föccer
-
Badb0y
addikt
válasz
m.zmrzlina
#12895
üzenetére
Tyűűű, angolban vajon ez hogy van
?Összefűz: concatenate
de mi a szöveg keres és a bal ? -
ancsi777
csendes tag
válasz
m.zmrzlina
#12609
üzenetére
Köszönöm a segítséget!
-
ancsi777
csendes tag
válasz
m.zmrzlina
#12607
üzenetére
Van mindkettő, de a 2010 jobb lenne, mert melóhoz kell és a munkahelyemen az van.
-
icons
addikt
válasz
m.zmrzlina
#12580
üzenetére
Én is valami ilyesmire gondoltam, csak azt kellene valahogy megértetnem vele, hogy a saját sorára értelmezze. Tehát ha ez alapján csinálom, akkor minden sorban be kellene állítanom, hogy az adott sor melyik cellája alapján számolja ki!
Tehát pl az 2es sorban akkor az AB2alapján fogja számolni, de a 3as sorban is az AB2 alapján fogja számolni :SEgyébként 2010es Excelem van, remélem hogy ebben van lehetőség ezt megoldani

-
Vizes Tomi
tag
válasz
m.zmrzlina
#12548
üzenetére
Üdv !
Ez volt a jó megoldás. Működik, köszönöm

üdv!
Vizes Tomi
-
Delila_1
veterán
válasz
m.zmrzlina
#12532
üzenetére
Közben én is összehoztam, a SZUM tartományát egy kicsit egyszerűsítve
=KEREK.LE(SZUM(C29:F29;I29;L29;O29;R29;U29;X29;AA29;AD29;AG29:AL29)*B29;2)
-
jani-wan
tag
válasz
m.zmrzlina
#12457
üzenetére
köszi értem
akkor ezt el is felejtem gyorsan -
GrandS
senior tag
válasz
m.zmrzlina
#12463
üzenetére
Csak a keresett mező szerint rendezettnek kell lenni a táblázatnak!
-
Delila_1
veterán
válasz
m.zmrzlina
#12457
üzenetére
"ha már a Cells van használatban akkor a "B" helyett (második argumentum) én 2-t használnék"
Mostanában szoktam rá, hogy "B"-t használok inkább, mint oszlopszámot. 2-nél még könnyen követhető, de pl. 179-nél egy javításnál egyszerűbb követni a betűvel – FW – jelölt oszlop átírása.
-
jani-wan
tag
válasz
m.zmrzlina
#12363
üzenetére
Ó akkor itt a hiba.
És akkor gond is van, mert ha ahhoz kell rendelnem ahol kiválasztom a statokat, az teljesen máshogy van elrendezve, mert nem csak ezt kell ott kiválasztanom, szóval az egy kontroll központ ami ráfér a képernyőre,
És ott 10 oszlopba van rendezve a stat kategória választó.
Ezen a lapon ahol a közel 60 oszlopnyi adatot nézem, viszont csak egymás mellé rendezve oldható meg.Igazság szerint van egy harmadik lap is ahol más funkciók is vannak beállítva, de ezek a kiválasztások legalább jelentkeznek egy sorban, mint 1 vagy 0 érték.
Én innen hoztam át erre az lapra az értékeket, ami meghatározza magát a stat fajtáját, illetve hogy van-e egyáltalán stat.
csak hogy ne legyen egyszerű, nem ugyanaz a sorrend mint ezen a lapon mert más is van ott is, és ezen a lapon is, mivel azon a funkcionalitás volt a cél, ezen meg a gyors átláthatóság.Szóval ezen a lapon a C2 cella, ami meghatározná hogy látszódjon vagy legyen elrejtve az oszlop, így néz ki:
=HA(lscontrol!H25>0;lscontrol!H26;"")
a G2 cella meg így
=HA(lscontrol!J25>0;lscontrol!J26;"")
tehát, ha nem tévedek, ez a kód a beállító lap meghatározott celláit veszi figyelembe sorban oszloponként.
A probléma hogy míg a C2 cella a H25-ből vesz adatot addig a G2 a J25-ből.Így az egyik lapot teljesen át kellene szerveznem, úgy hogy megfeleljenek egymásnak, és így a megfelelő oszlopokat rejtse el.

Erre igen kicsi az esélya legegyszerűbb az lenne ha csak erre a lapra szólna a macro ahol a statokat szeretném látni az alapján hogy a cella értéke "" vagy valami.
Erre van megoldás?
-
jani-wan
tag
válasz
m.zmrzlina
#12353
üzenetére
Nem megy.
Miután beírom feldobja a kisablakot, hogy adjam meg a makro nevét,
beírom hogy
oszlopelrejt
utána nyomok egy
createés ezt kapom
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 60
If Cells(2, i).Value <> "igen" Then Sheets("Munka1").Columns(i).EntireColumn.Hidden = True Else Sheets("Munka1").Columns(i).EntireColumn.Hidden = FalseNext
Sub elrejt()End Sub
de ez így nem tűnik jónak, és nem is csinál semmit.
viszont ha a
Sub elrejt()
áthelyezem az elejére,Sub elrejt()
Private Sub Worksheet_Change(ByVal Target As Range)For i = 1 To 60
If Cells(2, i).Value <> "igen" Then Sheets("Munka1").Columns(i).EntireColumn.Hidden = True Else Sheets("Munka1").Columns(i).EntireColumn.Hidden = FalseNext
End Sub
majd F5 és utána futtatom, akkor kiírja hogy
compile error:
Expected End Sub -
jani-wan
tag
válasz
m.zmrzlina
#12345
üzenetére
Az önműködő oszlopelrejtést is le tudnátok írni, mert úgy tűnik arra van szükségem.
Illetve, hogy mit kell változtatnom a kódban, ha nem az A1, B1 ... hanem az A2, B2 stb.. cellákban keresse ki az értéket, hogy elrejtse az oszlopot vagy sem
Köszi
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#12348
üzenetére
Bocsánat! A kód helyesen, rendberakott ciklusváltozókkal:
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To 20
If Cells(1, i).Value <> "igen" Then Sheets("Munka1").Columns(i).EntireColumn.Hidden = True Else Sheets("Munka1").Columns(i).EntireColumn.Hidden = False
Next
For j = 1 To 20
If Cells(j, 1).Value <> "igen" Then Sheets("Munka1").Rows(j).EntireRow.Hidden = True Else Sheets("Munka1").Rows(j).EntireRow.Hidden = False
Next
End Sub -
jani-wan
tag
válasz
m.zmrzlina
#12345
üzenetére
Műkszik köszönöm.
a cella értékét (HA) képlettel oldottam meg ami egy másik munkalapról veszi az értéket.
HA(munkalap1!A2="igen";"stat név";"")
Elég egyszerű.
Viszont 54 statisztikai oszlop van, és az eléggé áttekinthetetlen.
Úgy szeretném megoldani hogy csak azok a statisztikai oszlopok látszódjanak amelyekre szükségem van adott esetben.
Ezt állítom be egy másik munkalapon.Hogy lehet megcsinálni önműködőre?
És akkor már megkérdezem tőled hogy sorokat is el lehet így rejteni?
Mert én azt Feltételes formázás képlettel oldottam meg, tehát a sor ott van csak átszíneztem a cellákat és a betűt háttérszínűre, és így nem látszik.
Viszont ha van makrós megoldás az biztos jobb, és gyorsabb. -
Mec
senior tag
válasz
m.zmrzlina
#12338
üzenetére
Tényleg működik
Átgondolom, ez is jónak tűnik 
-
cousin333
addikt
válasz
m.zmrzlina
#12303
üzenetére
"Ezt nem értem."
Excel 2010-ben van olyan parancs, hogy Adatok > Ismétlődések eltávolítása. Ezzel kaphatsz egy listát, amiben minden elem csak egyszer szerepel. Ha viszont több oszlopot adsz meg neki, akkor csak azt tekinti ismétlésnek, ha két megadott sorban minden elem ugyanaz. Tehát mondjuk A2=A10, B2=B10 és C2=C10, akkor a második és tizedik sor egymás duplikáltjai.
"Valóban nem. 3-4 kattintás."
Erről beszélek. Nem bonyolult, de meló, főleg, ha sokszor kell.
"???"
A megoldásod lényege, hogy egy oszlopban szerepel minden egyedi érték, és mellette egy másik oszlopban minden darabszám. 1000 különböző értéknél ez 2000 cellányi információ, miközben a felhasználónak mondjuk 1-2-re van szüksége.
"Túlértékelsz"
Pedig kinéztem belőled.

-
cousin333
addikt
válasz
m.zmrzlina
#12301
üzenetére
Ha új elemet adsz hozzá, azt be kell tenned a Q-beli listádba is. A "minden elem egyszer" elv is nehézkes, ha több oszlopod is van. Tudtommal a rendezés sem megy magától. Ráadásul lesz egy csomó cellád tele sosem használt értékekkel. Vagy azokat is mindig törölheted le.
Ne érts félre, amit írtál az jól működik, számításigény szempontjából talán a lehető leggyorsabb is, csak "nem megy magától".
Tényleg, ha már itt tartunk: nem tudsz valami gyors módszert tömbök (nem tartományok!) gyors rendezéséhez? Esetleg két dimenziós tömböt egy adott oszlop szerint rendezni? Vagy a tömb tartalmát invertálni (az első elem legyen az utolsó... stb.)?
-
m.zmrzlina
senior tag
válasz
m.zmrzlina
#12298
üzenetére
Itt egy képes példa is: http://kephost.hu/share-6740_4EE389DF.html
Nekem az A oszlopban vannak az azonosítók amelyek különböző számban szerepelnek a C1:G1000 tartományban. A "B" oszlopban már rendezve ott vannak a mérőszámok is, hogy melyik azonosító hányszor szerepel. A "B" oszlop képletei a megjegyzésben.
-
Regirck
senior tag
válasz
m.zmrzlina
#12296
üzenetére
Köszönöm, kipróbálom ha valami nem megy még írok!

-
tezse66
csendes tag
válasz
m.zmrzlina
#12256
üzenetére
Szia!
Köszi a választ!
Tehát: igazándiból egy függvény kellene, amely beállítja a cella háttérszínét a megadott R,G,B értékek alapján: mint pl. háttér(255, 145, 124) vagy háttér(FF917C).
Ezeket az RGB értékeket egy másik munkalapról a színkód alapján ki tudom keresni egy FKERES-sel.A dolog lényege az, hogy meg tudjam jeleníteni színkártyák egyes színkódjaihoz tartozó színeket a meglévő RGB értékek alapján a munkalapon.
A gondom még az, hogy makróban és VB-ben elég kezdő vagyok, úgyhogy, ha megoldás van rá légyszi részletesen írd le, hogy mit csináljak.
Köszi!
-
válasz
m.zmrzlina
#11936
üzenetére
Végül is meg is válaszoltad magadnak a 2 módszerrel....

Nyilván a MAX tartományt vár, VB-ben a B:B az nem tartomány, sima hiba.maxpont = Application.WorksheetFunction.Max(Range("B:B"))
vagy (bár ez nem biztos, hogy működni fog)
maxpont = Application.WorksheetFunction.Max([B:B])
-
zsotesz81
senior tag
válasz
m.zmrzlina
#11888
üzenetére
ok, köszi
Új hozzászólás Aktív témák
- Otthoni hálózat és internet megosztás
- Milyen autót vegyek?
- Samsung Galaxy Watch6 Classic - tekerd!
- iPhone topik
- Hyundai, Kia topik
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- ASUS blog: kisebb, de nem gyengébb – a mini PC-k forradalma
- Bundle topik
- Kivégezheti a kisebb VGA-gyártókat az NVIDIA döntése
- További aktív témák...
- GYÖNYÖRŰ iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3971, 100% Akkumulátor
- Apple iPhone 13 Pro Max Sierra Blue ProMotion 120 Hz, Pro kamerák 128 GB Használt, szép,100%
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3555,100% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! I7 12700E / RTX 3060Ti / 32GB DDR4 / 512GB Nvme SSD
- HP 14 Elitebook 640 G9 FHD IPS i5-1235U 4.4Ghz 10mag 16GB 256GB Intel Iris XE Win11 Pro Garancia
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest

Egy zárójel elfelejtődött bezáródni.













Fferi50
