Keresés

Részletes keresés

tbando Creative Commons License 2013.10.16 0 0 22643

Szia!

 

A 22641 makróban szokás szerint maradt 1-2 szépség hiba. Ha zavarnak és szeretnéd korrigáltatni, jelentkezz.

Előzmény: djmorphy (22635)
tbando Creative Commons License 2013.10.16 0 0 22642

A stringeknél ez már csak így van.   Annak ellenére, hogy az "a<"b"=IGAZ és az"a">"b"=HAMIS, a MIN("a";"b")= 0. Valószinűleg azért, mert a MIN a stringeket 0-nak tekinti. Ahogy egyébként a SZUM is, az ÁTLAG is, meg a DARAB is. Bár ez utóbbinak van  darab2 változata is.  

Előzmény: Sánta Kutya (SK) (22640)
tbando Creative Commons License 2013.10.16 0 0 22641

Biztos van elegánsabb megoldás is, de én csak erre vagyok egyelőre képes. Kijelölöd a szöveges cellatartományt, amelyben vegyesen vannak dátumok és egyebek, majd elinditod a makrót, ami a dátumokat átírja 07-Oct.-2013 formáról, 2013.09.07-re, amivel a magyar excel már elboldogul.  Két feltételnek kell ehhez teljesülni: 1. A dátumok mind amerikai formátumuak és a hónapok az angol rövidítésüek legyenek.  2. A felölelt időszak 2000-2099 közé essen.

A makró extrém esetben elbarmolhatja a cella tartalmát, ha jobbról a 3.-4. betű "20" és ez nem a 2000-res dátumból származik.  A makro szerkezete viszont roppant egyszerű, ezért a feltételeket könnyű átírni. 

 

 

Sub djmorphdatum()

 

Dim a$, b$, ev%, ho, nap%, honum, cell
Dim honapok(12)

 

honapok(1) = "jan"
honapok(2) = "feb"
honapok(3) = "mar"
honapok(4) = "apr"
honapok(5) = "may"
honapok(6) = "june"
honapok(7) = "july"
honapok(8) = "aug"
honapok(9) = "sept"
honapok(10) = "Oct"
honapok(11) = "nov"
honapok(12) = "dec"

 

For Each cell In Selection
If Left(Right(cell, 4), 2) = "20" Then
a = cell
ev = Right(a, 4)
ho = Mid(a, 4, Len(a) - 8)
nap = Left(a, 2)

honum = Application.Match(ho, honapok, 0) - 1
If honum < 10 Then honum = "0" & honum
b = ev & "." & honum & "." & nap

cell.Value = b
End If
Next cell

End Sub

  

Előzmény: djmorphy (22635)
Sánta Kutya (SK) Creative Commons License 2013.10.16 0 0 22640

Találtam egy nyakatekert workaroundot:

http://www.mrexcel.com/forum/excel-questions/461313-find-minimum-time-value.html

De nem értem, hogy működik. Nem a tömbképletet nem értem, hanem a +0-t. Mindenképpen hibás működés, hogy közönséges MIN függvénnyel nem ad jó eredményt.

Előzmény: Sánta Kutya (SK) (22639)
Sánta Kutya (SK) Creative Commons License 2013.10.16 0 0 22639

01:44:16  01:38:08  0:00:00

Ez az A1:C1, és a harmadik szám (C1) az =MIN(A1:B1) képlet értéke.

Miért?

Ha időértéket számolok belőlük, megtalálja a minimumot, direktben meg nem. Mindhárom cella formátuma idő.

Fferi50 Creative Commons License 2013.10.16 0 0 22638

Szia!

 

Nyilván van hozzáférésed a VBprojekthez. Akkor használhatod a makróban az

Activeworkbook.VBProject.VBComponents lehetőségeit, illetve

Activeworkbook.VBProject.VBComponents("Thisworkbook" (vagy bármelyik másik darab).CodeModule tulajdonságait.

A VBComponents a Codename-ket fogadja el névként.

 

Üdv.

 

Előzmény: seven update sorbi (22636)
police7777 Creative Commons License 2013.10.16 0 0 22637

Köszönöm a segítséget Jimmy the Hand!

 

Remekül működik, annyit még ha tudnál segíteni, hogyha ugyanabban a cellában akarom látni még az aktuális dátumot is az időpont előtt akkor hogyan kell modosítanom a makrót?!

 

Köszönöm

 

 

 

Jimmy the Hand

2013.10.14 11:12:49  22596

Másold be ezt a makrót a munkafüzetedbe, és rendelj hozzá egy billentyűkombinációt.

 

Sub Pontosidő()     With ActiveCell         .Value = Time()         .NumberFormat = "h:mm:ss"     End With End Sub

 

Előzmény: police7777

2013.10.14 10:23:15 © 22595

Sziasztok!

 

Segítsetek! Olyan időfüggvény kellene nekem, ami az éppen aktuális időt rögzíti MÁSODPERCRE pontosan. A Ctrl+Shift+. kombináció az percre pontosan írja csak az időt.

 

Köszönöm

seven update sorbi Creative Commons License 2013.10.16 0 0 22636

Sziasztok!

 

Nekem is lenne egy kérdésem. Szeretnék egy egy excel file "Thisworkbook" lapján lévő makrókat beimportálni egy másik excel file "Thisworkbook" lapjára. A problémám az, hogyha kiexportálom a thisworkbook-ot, akkor az exportálás automatikusan egy class module file-t hoz létre (cls kiterjesztéssel), amit, ha visszaimportálok a másik munkafüzetbe, akkor ott is class module-ként jelenik meg, de én a "Thisworkbook" lapra szeretném azt bemásolni (nem kézzel, hanem makróval).

 

Köszi a segítséget.

djmorphy Creative Commons License 2013.10.16 0 0 22635

Sziasztok!

 

Dátummal kapcsolatban lenne kérdésem. 

CSV-ből importálok file-okat. Az "AD" oszlopba importálja a dáumokat de a következő formátumban:

"07-Oct-2013" 

Hogyan tudnám rávenni, hogy az excel tudja kezelni ezt a dátumot pl viszonyítani tudjak hozzá stb? Az a baj, hogy göngyölített adathalmaz tehát mindig csak nőni fog és egyesével átirogatni nem nagy élmény :D

tbando Creative Commons License 2013.10.16 0 0 22634

Azon töprengtem, hogyan lehetséges úgy átállítani fix tizedesre az excelt, hogy a usernek erről fogalma sincs.  Hát végülis nagyon könnyen. Mert ha több füzet van nyitva, akkor, ha akármelyiket is átállítjuk, azzal a többi füzetben is megtörténik az átállítás. Ha a későbbiek során ezek közül az átállított füzetek közül bármelyiket is behívjuk elsőként, az tovább "fertőzi" az utána megnyilókat, amelyek szintén hasonlóképpen fognak viselkedni. Egészen addig, amig ki nem kapcsoljuk a fix tizedes módot az egyik füzetben, mert ezzel a többi megnyitott füzetben is megszűnik. 

Előzmény: tbando (22632)
Fferi50 Creative Commons License 2013.10.15 0 0 22633

Szia!

 

És ezzel együtt a tizedesjegyek számát is átállította, ha 500000 esetén 0,5 jelenik meg, akkor 6 a tizedesjegyek száma!

 

Üdv.

Előzmény: Törölt nick (22631)
tbando Creative Commons License 2013.10.15 0 0 22632

Erre szépen rájöttél. Nem is tudtam, hogy van ilyen :)))))

Előzmény: Törölt nick (22631)
Törölt nick Creative Commons License 2013.10.15 0 0 22631

Ötlet:

 

Bekapcsolta valaki a "fixed decimal mode-ot". Alant le van írva, hogy hogy lehet kikapcsolni.

 

Ques 19. Your colleague created a dashboard and when you enter a value, it appears with two decimal places. For example, when you enter 265 it shows up as 2.65. What's wrong? Solution: By chance Excel's fixed-decimal mode was turned on. To return to normal,
Excel 2003 -->
Click Tools and then Options to display the Options dialog box.
Then click the Edit tab and remove the check mark from the "Fixed decimal " option.
Excel 2007 -->
Click Office button on Top-Left corner and click 'Excel Options'.
Go to Advanced and Uncheck 'Automatically insert a decimal point' option.
Excel 2010 -->
Click File button on Top-Left corner and click 'Excel Options'.
Go to Advanced and Uncheck 'Automatically insert a decimal point' option.

 

forrás: http://www.excelitems.com/2010/12/excel-vba-interview-questions.html

Előzmény: szunyókálóoroszlán (22593)
Fferi50 Creative Commons License 2013.10.15 0 0 22630

Szia!

 

Azt mondjuk nem írtad, milyen módon kell kiosztani a posztokat...(képlet, makró, kézzel...)

Mondjuk a kézi kitöltést segíti ha a képen látható módon csinálsz egy "segítséget" magadnak (darabteli függvénnyel).

Üdv.

Előzmény: fres01 (22600)
tbando Creative Commons License 2013.10.15 0 0 22629

Csinálhatod FKERES-sel is. A százalékokat kumulálod 0-tól 83-ig és melléjük irod a posztokat. Majd az 1-100-ig kitöltött cellák mellé beírod az FKERES képletet: =fkeres(szám-1;$posztkiosztó;2) 

Előzmény: fres01 (22603)
tbando Creative Commons License 2013.10.15 0 0 22628

Írtad, hogy nézted a számformátumot is. Na és melyik formátum volt kijelölve, és azt hogyan illusztrálta, miközben az 5000000/0,5-ös cella volt kijelölve?

Előzmény: szunyókálóoroszlán (22627)
szunyókálóoroszlán Creative Commons License 2013.10.14 0 0 22627

Nem az. 

?

Előzmény: Eredő Vektor (22594)
Fferi50 Creative Commons License 2013.10.14 0 0 22626

Szia!

 

No egy kis jó hír a mai rémregény végére.

 

Jó éjt!

Előzmény: forzajuve (22625)
forzajuve Creative Commons License 2013.10.14 0 0 22625

Igen-igen! Ez lesz az!:) Nagyon köszönöm!!!

Előzmény: Fferi50 (22624)
Fferi50 Creative Commons License 2013.10.14 0 0 22624

Szia!

 

Elnézést, de ma nem vagyok jó formában!

Range("A7").value=left(range("A7").value,5) & csere

Range("B17").value=left(range("B17").value,5) & csere

 

Remélem, ez már segít.

 

Üdv.

Előzmény: forzajuve (22620)
forzajuve Creative Commons License 2013.10.14 0 0 22623

Dehogynem. "Compile error: expected: list separator or )"

 

 

Private Sub Worksheet_Change(ByVal Target As Range)

Dim csere As String

Dim x As Double, y As Double, regiveg As String, ujveg As String

If Not Intersect(Range("B2"), Target) Is Nothing Then

   Application.EnableEvents = False

   y = Target.Value

   Application.Undo

   x = Target.Value

   Target.Value = y

   regiveg = Range("X1:Y120").Find(what:=x, LookIn:=xlValues, lookat:=xlWhole).Offset(0, 1).Value

   ujveg = Range("X1:Y120").Find(what:=y, LookIn:=xlValues, lookat:=xlWhole).Offset(0, 1).Value

   Union(Range("B7:U7"), Range("B14:E14"), Range("B24:U24")).Replace what:=regiveg, replacement:=ujveg, lookat:=xlPart

   Application.EnableEvents = True

End If

If Not Intersect(Range("B1"), Target) Is Nothing Then

    Application.EnableEvents = False

    csere = Mid(Target.Value, 6)

    Range("A7").value=left(range("A7",5).value & csere
    
    Range("B17").value=left(range("B17",5).value & csere
 
    Range("C17").value=left(range("C17",5).value & csere
    
    Range("D17").value=left(range("D17",5).value & csere
    
    Range("E17").value=left(range("E17",5).value & csere
    
    Range("A24").value=left(range("A24",5).value & csere
    
    Range("D34").value=left(range("D34",5).value & csere

    Application.EnableEvents = True

End If

End Sub

Előzmény: Fferi50 (22621)
Attila Fehér Creative Commons License 2013.10.14 0 0 22622

De egy unload ilyet okozna? :O Sot, az unloaddal meg a memoriaban sem foglal ugy helyet tudomasom szerint.

Előzmény: Fferi50 (22604)
Fferi50 Creative Commons License 2013.10.14 0 0 22621

Szia!

 

Nem másolnád be azt a hibaüzetet és a makrót, ami most fut?

 

Köszi

Előzmény: forzajuve (22620)
forzajuve Creative Commons License 2013.10.14 0 0 22620

Ugyanaz a hibaüzenet.

Előzmény: Fferi50 (22619)
Fferi50 Creative Commons License 2013.10.14 0 0 22619

Szia!

 

Bocs, az előző válasz nem ér!

 

Range("A7").value=left(range("A7",5).value & csere

Range("B17").value=left(range("B17",5).value & csere

 

Már megint a szokásos hanyagságom!

 

Üdv.

Előzmény: forzajuve (22617)
Fferi50 Creative Commons License 2013.10.14 0 0 22618

Szia!

 

Melyik felsorolásban hiányolja?

Range("A7").value=left(range("A7").value & csere

Range("B17").value=left(range("B17").value & csere

Ezeket a cserés képleteket külön-külön sorba írd lsz.

 

 

Üdv.

Előzmény: forzajuve (22617)
forzajuve Creative Commons License 2013.10.14 0 0 22617

Valami lista elválasztót vagy zárójelet szeretne a felsorolásba.

Előzmény: Fferi50 (22616)
Fferi50 Creative Commons License 2013.10.14 0 0 22616

Szia!

 

Igen, igazad van, engem egy kicsit átvert a saját programom, amikor ugyanazokat az értékeket adtam minden szóbanforgó cellának, persze, hogy nem láttam az "ármánykodást".

Akkor most egyenlőre nem látok mást, mint cellánként megváltoztatni az értéket:

Range("A7").value=left(range("A7").value & csere

Range("B17").value=left(range("B17").value & csere és így tovább, ezeket a

 

   celja.Value = Left(celja.Value, 5) & csere

 

sor helyett írd be és elhagyhatod

 

celja As Range, beírást, valamint a

 

    Set celja = Union(Range("A7"), Range("B17"), Range("C17"), Range("D17"), Range("E17"), Range("A24"), Range("D34"))

 

sort.

 

Remélem, így már jobb lesz a dolog.

 

Üdv.

Előzmény: forzajuve (22615)
forzajuve Creative Commons License 2013.10.14 0 0 22615

Bocs, nem, mégsem ez a probléma. Jelenleg az alábbit használom, és az első 5 karaktert mindenképpen az A7-ből veszi, ha pedig az A7-et kitörlöm, le se fut...


Private Sub Worksheet_Change(ByVal Target As Range)

Dim celja As Range, csere As String

Dim x As Double, y As Double, regiveg As String, ujveg As String

If Not Intersect(Range("B2"), Target) Is Nothing Then

   Application.EnableEvents = False

   y = Target.Value

   Application.Undo

   x = Target.Value

   Target.Value = y

   regiveg = Range("X1:Y120").Find(what:=x, LookIn:=xlValues, lookat:=xlWhole).Offset(0, 1).Value

   ujveg = Range("X1:Y120").Find(what:=y, LookIn:=xlValues, lookat:=xlWhole).Offset(0, 1).Value

   Union(Range("B7:U7"), Range("B14:E14"), Range("B24:U24")).Replace what:=regiveg, replacement:=ujveg, lookat:=xlPart

   Application.EnableEvents = True

End If

If Not Intersect(Range("B1"), Target) Is Nothing Then

    Application.EnableEvents = False

    Set celja = Union(Range("A7"), Range("B17"), Range("C17"), Range("D17"), Range("E17"), Range("A24"), Range("D34"))

    csere = Mid(Target.Value, 6)

    celja.Value = Left(celja.Value, 5) & csere

    Application.EnableEvents = True

End If

End Sub

Előzmény: Fferi50 (22613)
forzajuve Creative Commons License 2013.10.14 0 0 22614

Rendben, nagyon köszönöm, hogy ezt is leírtad, így a későbbiekben is szabadon változtathatok a kijelölt területeken.

Előzmény: Fferi50 (22613)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!