Keresés

Részletes keresés

Törölt nick Creative Commons License 2007.10.07 0 0 6124
Jozsef ezeket nagyon vágja szerintem. De amit lehet, ne priviben, mert másnak is hasznára válhat. Pl. nekem:)
Nekem nem volt problémám még vele - bár én kisebb dolgokat szoktam vele orvosolni, és szó ami szó, több mindenre is lehetne használni....
Előzmény: tbando (6123)
tbando Creative Commons License 2007.10.07 0 0 6123

Sziasztok!

 

Aziránt érdeklődöm, hogy van-e köztetek valaki aki otthon van a Solverben. És hajlandó lenne velem konzultálni. Mert amilyen hasznos ez a funkció amikor jól müködik, annyira bosszantó, hogy irgalmatlanul labilis. Az még hagyján, hogy a kezdőértékekre érzékeny. De van, hogy megmagyarázhatatlan okokból átírja a célcella képletét. Aztán vagy jelzi, vagy nem, hogy hibás eredményt adott. Máskor nem ír át semmit, de nem vesz figyelembe egy korlátozó feltételt.  Olyat, amit egy korábbi futtatásnál figyelembe vett. A legjobb lenne, hagyni a fenébe. Amit azonban még se szívesen tennék, mert már sok optimalizálási problémát megoldottam vele, amit szeretnék a továbbiakban is.  

 

Szóval, ha van valaki, aki már megbirkózott hasonló problémákkal, örömmel venném ha jelezné nekem.  Akár priviben is. 

 

tBando

Törölt nick Creative Commons License 2007.10.05 0 0 6122
Köszi ez még jobb, ezzel megoldottam a múltkori autoszűrős kérdésemet is. thx!

Private Sub ToggleButton1_Click()
If ToggleButton1.Value Then
OK:
Application.Calculation = xlCalculationManual
Selection.AutoFilter Field:=5, Criteria1:="*" & InputBox("Szótöredék:") & "*", Operator:=xlAnd
ScreenUpdating = False
'MsgBox "Autofilter bekapcsolva. Automatikus lapfrissítés kikpcsolva"

Select Case MsgBox("Újabb szűrés?", vbYesNoCancel)
Case vbYes
GoTo OK
Case vbNo
On Error Resume Next
ActiveSheet.ShowAllData
Application.Calculation = xlCalculationAutomatic
'MsgBox "Automatikus lapfrissítés visszakapcsolva"
ToggleButton1.Value = False
Case Else
ToggleButton1.Value = False
Exit Sub
End Select
End If
End Sub

marhára örül a fejem ha sikerül valami. Igaz Goto nélkül nem tudam hogy kell, de nekem tökéletes így is.
Előzmény: Törölt nick (6121)
Törölt nick Creative Commons License 2007.10.05 0 0 6121
Vagy, ha több lehetőség van:

Dim a As Long
a = MsgBox("Kérdés", vbYesNoCancel)
Select Case a
Case vbYes
...
Case vbNo
...
Case Else
...
End Select
Előzmény: Törölt nick (6119)
Törölt nick Creative Commons License 2007.10.05 0 0 6120
francba :) egy apróságon csúsztam el. Köszönöm szépen, a gyorsaságot is.
Előzmény: Törölt nick (6119)
Törölt nick Creative Commons License 2007.10.05 0 0 6119
If MsgBox("Egyetértesz?", vbYesNo) = vbYes Then
MsgBox("Akkor jó.")
Else
MsgBox("Reklamációnak helye nincs.")
End if
Előzmény: Törölt nick (6117)
Törölt nick Creative Commons License 2007.10.05 0 0 6118
Szerintem a funkció billentyűket nem lehet testre szabni, vagy ha lehet, akkor az túlmutat az Excel lehetőségein. (Szerintem. Lehet, hogy tévedek.)

A második kérdésre:

Sub Makró1
If (Not Form1.Visible) Or Form2.Visible Then Exit Sub
...
End Sub
Előzmény: byszka11 (6115)
Törölt nick Creative Commons License 2007.10.05 0 0 6117
Szasztok, tudnátok segíteni abban, hogy miként lehet feltételhez rendelni azt hogy ha egy MsgBox-on No avagy Yes gombot nyomtak meg? Tehát ha No akkor ez van ha Yes, akkor amaz
Törölt nick Creative Commons License 2007.10.05 0 0 6116
Csak ctrl vagy ctrl+shift funkcióhoz lehet szrtem billentyűt rendelni.

Előzmény: byszka11 (6115)
byszka11 Creative Commons License 2007.10.05 0 0 6115
Sziasztok!


Valahogy az megoldható, hogy a funkció billentyűkhöz (F1 - F12) hozzárendeljek makrót? Illetve azt szeretném elérhi, hogy van egy makró ami lefut ctrl+m -re, de csak akkor fusson ha az form1 aktív, ha a form2 aktív akkor ne fusson (a form2 csak akkor aktív ha a form1 is meg van nyitva, de inaktív).
Előre is köszönöm.
stromba Creative Commons License 2007.10.04 0 0 6114

Ez így továbbra sem teljesen elég de azért már nagyjából értem. A lenti kódot egy olyan alkalmazásból vettem ki, amit akkor használtam amikor sokszáz leányvállalat adatait kellett egy pivot táblából különböző fájlokba szétdobálni.

 

Mondjuk a pivottábla neve "PivotTable1" és amiket szűrsz azok leányvállalatok az a mező ("Affiliate").


Sub idu()

 

Application.Screenupdating = False


'Két egymásba ágyazott ciklust használunk:

 i = ActiveSheet.PivotTables("PivotTable1").PivotFields("Affiliate").PivotItems.Count

    For i1 = 1 To i

            'végigmész az összes különbözo rekordon

                For i2 = 1 To i
                     'a pivot táblának csak azon elemei lesznek láthatóak, amelyeket szeretnénk, a többit elrejtjük


                          With ActiveSheet.PivotTables("PivotTable1").PivotFields("Affiliate")
                            If i2 = i1 Then
                                           
                                            .PivotItems(i2).Visible = True
                                            On Error Resume Next
                                           
                                            .PivotItems(i2 - 1).Visible = False
                                            On Error GoTo 0
                                           
                                 Else


                                On Error Resume Next 'ez az esetleges üres mezok miatt kell
                                            .PivotItems(i2).Visible = False
                                On Error GoTo 0
                            End If
                       
                        End With
                   
                Next i2

'nyomtatás

 

        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

 

'esetleg betehetsz egy ilyet hogy lásd hányadik elem lett kinyomtatva.

c = msgbox(i1 & " / " & i &  "  elem kinyomtatva", vbokonly)

 

 

Next i1

 

Application.Screenupdating = True

 

End Sub

Előzmény: Fabula_D16 (6113)
Fabula_D16 Creative Commons License 2007.10.04 0 0 6113

Elnézést, ha rosszul fogalmaztam. Részletesebben:

Az oldalmező egy szűrő a Kimutatás oldalterületén. Lényegében hasonlóképpen néz ki, mint egy tábázat fejlécén az autoszűrő. Egy lenyíló lista, benne rendezetten láthatók az alatta lévő oszlopban található adatok.  Lenyitod a listát, szűrsz az első tételre, kinyomtatod. Szűrsz a másodikra, kinyomtatod, és így tovább. Lényegében ezt szeretném egy makróval megoldani. Az objektum nevek mások, mert Pivot Tábláról van szó. Azon kívül, mivel az eredmény több mint ezer oldal lesz, valamivel kezelni kellene a folyamatot.

Üdv.

Előzmény: stromba (6111)
Törölt nick Creative Commons License 2007.10.04 0 0 6112
Szerintem itt valami kimutatásvarázslóval készített izéről van szó... és ha így van, akkor ez a probléma kívül esik a komfortzónámon :(
Előzmény: stromba (6111)
stromba Creative Commons License 2007.10.03 0 0 6111

Mi az az oldalmező?

Ha az oldalmező azt jelenti hogy van egy oszlop ahol egy adott érték már új oldalra kell hogy kerüljön, akkor: (feltételezve hogy ez az érték az A oszlopban van és mindig "q")

 

Sub oldaltores()
'
Cells.Select
ActiveSheet.ResetAllPageBreaks
Selection.SpecialCells(xlCellTypeLastCell).Select
X = ActiveCell.Row ' a tartomány -ig sora

For i = 2 To X
    If Cells(i, 1) = "q" Then
        Rows(i).Select
        ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
    Else
    End If
Next i
End Sub

 

Előzmény: Fabula_D16 (6109)
Törölt nick Creative Commons License 2007.10.03 0 0 6110
Szerintem pontosíts, mert ezek félinformácók
Előzmény: Fabula_D16 (6109)
Fabula_D16 Creative Commons License 2007.10.03 0 0 6109
Üdvözlet Mindenkinek,
Segítséget kérek. Egy oldalmező tételei szerint szeretnék kinyomtatni egy kimutatást, minden tételt új oldalon kezdve. A tételszám ezres nagyságrendű. Az oldalankénti nyomtatás funkció nem jó. Egy makró kellene. Tudtok segíteni? Köszönöm.
Törölt nick Creative Commons License 2007.10.02 0 0 6108
Köszönöm, én is gondoltam valami ilyesmire, számítottam valami frappáns megoldásra. Mindenesetre target változóval megcsináltam, aztán majd kiderül mennyire válik be.
köszi még1x
Előzmény: Törölt nick (6106)
Törölt nick Creative Commons License 2007.10.02 0 0 6107
Bocsánat, figyelmetlen voltam és elbénáztam a másolást!

Szóval, nagyon jó, tökéletesen működik! Még egyszer köszönöm!
Előzmény: Törölt nick (6105)
Törölt nick Creative Commons License 2007.10.02 0 0 6106
Értem már. Nos, egy kerülő megoldást tudnék javasolni.

Mivel az autoszűrés nem váltja ki a Worksheet_Change eseményt, szerintem szűréskor kapcsold ki az automata számolást, és Worksheet_Change eseménnyel kapcsold be. Amíg csak szűrsz, addig nem kell számolgatni, viszont ha a munkalapon módosul valami, akkor elképzelhető, hogy kell.

A gond itt az lehet, hogy Application.Calculation = xlCalculationAutomatic utasításra mindnképpen átszámolja a képleteket, ha addig xlCalculationManual volt az érték. Tehát esetleg akkor is, ha a szűrés után az első változás olyan cellában történik, amely nem része semmilyen képletnek. Ezért indokolt lehet a Change esemény lekorlátozása a Target változó segítségével.

Nem tudom, jó megoldás-e, első ránézésre annak tűnik...
Előzmény: Törölt nick (6104)
Törölt nick Creative Commons License 2007.10.02 0 0 6105

Köszönöm szépen!

Sajnos valami nem jó, nem írja át a cellába a cellához tartozó megjegyzés szövegét.

Esetleg tudnál abban segíteni, hogy lehet egy változóba átírni egy cellához tartozó megjegyzés szövegét?

Előzmény: Törölt nick (6095)
Törölt nick Creative Commons License 2007.10.02 0 0 6104
Bocs, ha nem volt érthető - pedig igyekeztem.
A fő probléma az, hogy egy 6000 soros táblázat szűrésekor a táblázat frissül, újraszámolja az egészet és ez sokáig tart. Ugyanakkor a Beállítások/számolás fülön a kikapcsolt frissítést vissza kell kapcsolnom a makró végén - hisz a további használat során szükség van erre. Viszont visszakapcsoláskor - ami teljesen helyénvaló - frissül a táblázat.

Például ez a kód az lefut:

Sub K()
Application.Calculation = xlCalculationManual
Selection.AutoFilter Field:=5, Criteria1:="*" & InputBox("Szótöredék:") & "*", Operator:=xlAnd
ScreenUpdating = False
Application.Calculation = xlCalculationAutomatic
End Sub

De az utolsó sorban a visszakapcsolás miatt frissül a táblázat és számolgat egy csomót. Magyarul azt el lehet kerülni, hogy autoszűrő használatakor ne frissüljön a táblázat?
Előzmény: Törölt nick (6102)
Impi2000 Creative Commons License 2007.10.02 0 0 6103

Üdv OZ Juice :)

Megkérhetlek, hogy küld el, vagy Írd be azt a makrót (ha publikus) amit készítettél erre a 4 soros nyomtatásos dologra.

#5985  vagy #5987-es hozzászólás.

Nekem is elkélne!

Köszönettel

Előzmény: OZ Juice (6033)
Törölt nick Creative Commons License 2007.10.02 0 0 6102
Nem értem a problémát. Tehát maradjon bekapcsolva az automatikus frissítés, de úgy, hogy ne frissüljön a tábla?(??)

Előzmény: Törölt nick (6093)
Törölt nick Creative Commons License 2007.10.02 0 0 6101
Nem nagyon használtam még Office 2007-est, de úgy rémlik, azt olvastam valahol, hogy a kezelőfelületét át lehet állítani a megszokott régire. Hogy hogyan, azt nem tudom, de szerintem a Súgó tudja. Esetleg a Súgó tudhatja azt is, hogy az X-et hogyan kell kitenni a jobb felső sarokba...
Előzmény: fajlkezelo (6096)
Törölt nick Creative Commons License 2007.10.02 0 0 6100
Szia Karesz,

Gondolj úgy a képletekre, mint az általános iskola első osztályának matekkönyvében szereplő, szaloncukor alakú "gép"-ekre. (Az én időmben még ilyenekkel etettek :))
Felül bedobsz valahány számot, alul kijön egy darab érték. Az Excel függvényei általában ilyen, 1 azaz egy kimenettel rendelkező gépek. Azt mondom, "általában", mert lehet, hogy tévedek, de most nem tudnék olyan függvényt mondani, amelyiknek két kimenő adata van. Olyat sem láttam még, hogy egy beírt képlet a beírás cellájától eltérő cellában módosít értéket. (Hacsak nem felhasználó által, VBA kóddal megírt függvényről van szó, mert ott akármi is történhet.)

Magyarul és röviden: ha az E1-ben képlettel számított értéket akarsz látni, akkor oda (E1-be) be kell írnod azt a képletet, amely az értéket kiszámítja.

Esetedben a mennyiségi egység kimásolása hasonló képlettel működik, mint az ár kiszámítása. Az FKERES függvény paraméterei változnak. A keresési érték ugyanaz (vagyis az árucikk), a tartomány A:B oszlopokról A:C oszlopokra módosul, az oszlopszám 3, a tartományban keres pedig marad hamis. (Legalábbis, ha jól látom a helyzetet.) Ja, és persze - ellentétben az egységárral - ezt nem kell beszorozni a mennyiséggel.

Jimmy



Előzmény: nkaresz1978 (6098)
Törölt nick Creative Commons License 2007.10.02 0 0 6099
Ezt hogy csináltad, hogy a behúzások így megmaradtak? Nekem mindig trim-meli az összes soromat a fórum szoftver, és minden sorom a doboz elején kezdődik...
Előzmény: Törölt nick (6095)
nkaresz1978 Creative Commons License 2007.10.02 0 0 6098
Szia Jimmy!

Az utóbbi problémával továbbra is küzködök. Nem igazán értem ezeket a képleteket.
A felállás a következő:
Egy munkafüzeten belül van egy ártábla (artabla) munkalap ami tartalmazza az:

A1 | B1 | C1 |
nevet | árat | mennyiségi egységet |

Egy másik lapra került a képlet:

C1 | D1 | E1 | F1|
mennyiség | cikk | mennyiségi egység | ár |

szóval amíg az első megoldást javasoltad, azt sikerült megcsinálnom úgy is hogy az árakat egy másik lapon helyeztem el. Ezt megoldottam a lap elnevezésével és az érvényesítésnél megadtam az adatok lap nevét. Teljesen jól működött. De aztán hozzájött ez a mennyiégi egység amit az artabla lapon csak az ár utáni oszlopba raktam be C1től lefele az árak mellé. Namármost azt szeretném ha az összesítőn ha kiválasztom a terméket akkor bemásolja mellé az artabla lapon lévő mennyiségi egységet is autómatikusan az E1 cellába.
Gondolom ezt is képletként kell megadni a korábban írt képletbe, vagy ez külön képlet az E1-re vonatkozóan??

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

Üdv: Karesz
Előzmény: Törölt nick (6091)
Törölt nick Creative Commons License 2007.10.01 0 0 6097
ctrl+f4?
Előzmény: fajlkezelo (6096)
fajlkezelo Creative Commons License 2007.10.01 0 0 6096
Sziasztok!

Egyik kollégám olyan kedvező helyzetbe jutott,
hogy Office 2007-et kapott (szenved is rendesen az új külalakkal).

Szóval szeretné (és most már én is), hogy az Excelben (Wordben is)
ott legyen a dokumentumbezárás (x) ikon a jobb felső sarokban.

Addig is most állandóan bezárja az egész Excelt.

Kösz.
Törölt nick Creative Commons License 2007.10.01 0 0 6095

 

Próbáld ki ezt:

 

Dim i As Integer
Dim k As Integer
Dim Kom
For i = 4 To 700
        For t = 4 To 128
            If Cells(i, t) = "M" Then
                Set Kom = Cells(i, t).Comment
                If Not Kom Is Nothing Then Cells(i, t) = Cells(i, t).Comment.Text
                Set Kom = Nothing
            End If
        Next t
Next i

Előzmény: Törölt nick (6094)

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