Keresés

Részletes keresés

djmorphy Creative Commons License 2012.08.14 0 0 18621

Ugyan abba a két filenévbe exportálja a program az adatokat. Csak addig kell, hogy a leadott rendelésekhez van-e elég alapanyagunk. Aztán következő nap/lekéréskor ha exportálom akkor az arra vonatkozóan nézi meg, hogy van-e elég alapanyag vagy miből kell rendelni.

Előzmény: SQLkerdes (18616)
Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18620

Ez az!! Miért nem ezzel kezdted? :-)

Előzmény: Delila10 (18618)
Delila10 Creative Commons License 2012.08.14 0 0 18619

Nem írtam ki a függvény paramétereit, csak azt, hogy az egyik összegzi az első-, a másik a második tartomány adataiból a kritériumnak megfelelő érétkeket.

Előzmény: Törölt nick (18614)
Delila10 Creative Commons License 2012.08.14 0 0 18618

A personalt kiválasztva Nézet | Ablak | Elrejtés. Ugyanitt felfedheted majd, ha szükséged lesz rá.

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

Ezzel a beállítással viszont nemcsak a perssonalt tünteti el a tálcáról, hanem az összes többi megnyitott ablakot is. :-((( Fürdővízzel a gyereket.

Előzmény: Delila10 (18595)
SQLkerdes Creative Commons License 2012.08.14 0 0 18616

Mivel a Pivot táblák több tartomány összekonszolidálását is tudják kezelni én erre Pivot táblát használnék...

 

Valszeg makró kell ahhoz, hogy a - ha jól értem - folyton változó dimenziójú input tartományokhoz hozzáigazítsa a pivot opcióit.

Előzmény: djmorphy (18611)
SQLkerdes Creative Commons License 2012.08.14 0 0 18615

Én azt hittem, hogy a SUMIFS/SUMHATOBB  arra való amikor több feltétel van, nem pedig amikor több kiértékelendő tartomány....

Vagy rosszul tudom?

Előzmény: Törölt nick (18612)
Törölt nick Creative Commons License 2012.08.14 0 0 18614

ebben a formában ezt nem értem

Előzmény: Delila10 (18613)
Delila10 Creative Commons License 2012.08.14 0 0 18613

2007-es előtt SZUMHA(egyik tartomány)+SZUMHA(másik tartomány). :-)

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

excel 2007-től van szumhatöbb() az erre való.

 

 

Előzmény: djmorphy (18611)
djmorphy Creative Commons License 2012.08.14 0 0 18611

Sziasztok!

 

Kellene megint egy kis segítség. Van két txt file amiből betöltöm az egyik munkafüzetre az egyedi ID-d a terméknevet és a darabszámot. Ez A176:D184 és a másik txt-t a H175:K179-re. (De ez bármikor változhat mert a rendeléstől függ.)

Az egy-egy txt-ben ugyan azon termék többször is szerepelhet.

Azt szeretném megoldani, hogy összesítem ezeket.

 

pl.

 

1.txt

 

ID | Termék|db|
01 |abc     |  3 

02|abd      |  4
01|abc      | 2

2.txt

ID | Termék|db|
01 |abc     |  3 

02|abd      |  4
01|abc      | 2

 

 

azaz ezt szeretném megkapni

 

 

összesen:
01 abc      10db 
02 abd      8db 

SQLkerdes Creative Commons License 2012.08.14 0 0 18610

Közben megoldottam a Compatibility mode-dal kapcsolatos problémát úgy, hogy időlegesen lekapcsoltam a compatibility mode-ot, megnyitottam a workbook-ot és visszaállítottam a compatibility mode-ot.

 

    'Enforcing xlsx file format   

xlUserFileFormat = Application.DefaultSaveFormat

        If xlUserFileFormat <> 51 Then Application.DefaultSaveFormat = 51

     'Creating host file

        Set HostFile = Workbooks.Add

     'Restoring original user file format

        Application.DefaultSaveFormat = xlUserFileFormat

 

 

Delila10 Creative Commons License 2012.08.14 0 0 18609

Az első mondat félreérthetőre sikertelenedett. A ThisWorkbook laphoz azt az eseménykezelést kell rendelni, amit minden lapon végre akarsz hajtatni.

Előzmény: Delila10 (18608)
Delila10 Creative Commons License 2012.08.14 0 0 18608

Minden lapra vonatkozó eseménykezelést a ThisWorkbook laphoz kell rendelned. Ha a General-t Workbook-ra cseréled, alapállásban a Workbook_Open eseményt állítja be a VB. Ezt cseréld le a jobb oldali legördülőben a SheetSelectionChange eseményre.

 

Ehhez egy példa:

 

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

  Target.Interior.ColorIndex = 10

End Sub

 

Az egyes lapokon megváltoztatja a háttér színét, mikor kijelölsz egy-egy tartományt.

 

Most válts át SheetChange eseményre. Példa:

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    Application.EnableEvents = False

        Range("A1") = Target.Column + 9

        Application.EnableEvents = True

End Sub

 

Látod, itt a makró első sorában letiltottam az események engedélyezését, a végén pedig visszaállítottam. Módosítasz egy cellát, mire a makró nekilódul, beírja az A1-be a módosítás oszlopának 9-cel növelt számát. Ha az elején nincs a letiltás, ezt az újabb beírást is eseményként kezeli, újra beír az A1-be, és kapsz egy végtelen ciklust.

Az End Sub előtt vissza kell állítani az eseménykezelést, másként az Excel újraindítása előtt nem fognak működni a makróid.

 

Előzmény: Sánta Kutya (SK) (18606)
Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18607

Köszi, kipróbálom!

Előzmény: Delila10 (18603)
Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18606

Na de ez munkalapra ugrik. Azt szeretném, hogy más munkalapokon történt eseményre reagáljon, bárhol a munkafüzetben! Vagy pedig minden munkalap változásához hozzá kéne rendelni ezt a makrót?

 

Pl. ez:

Private Sub Workbook_Change(ByVal Target As Range)
    Sheets("valami").Cells(1, 3) = Target.Column + 9
End Sub

 

nem csinál semmit. Generalhoz van rendelve.

Előzmény: Delila10 (18599)
pimre Creative Commons License 2012.08.14 0 0 18605

Van egy sejtésem:

 

Azt írod, hogy: Az A236 cellában lévő függvény:

=HA($I236>0;FKERES($I236;BEFIZETENDŐ!$T78:$X1025;2;HAMIS);"") <---ez működik.

 

Viszont úgy látom, hogy a függvénnyel az A236-ba vagy szám kerül, vagy ""

 

És az A236-re hivatkozó függvény pedig számnak tekinti a ""-t: =HA(A236>0;....

 

Próbáld ki az első képletben a "" helyett a 0 értékadást!

Előzmény: Parkvárosi (18572)
Delila10 Creative Commons License 2012.08.14 0 0 18604

Természetesen a For sor új sorban van, csak hibásan jelent meg.

Előzmény: Delila10 (18603)
Delila10 Creative Commons License 2012.08.14 0 0 18603

Sub rejt()

    Dim sor%    For sor% = 1 To 20

        If Cells(sor%, "M") = 0 Then Rows(sor%).Hidden = True

    Next

End Sub

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

Hogy lehet makróval egy adott intervallumban (mondjuk az 1. és az x. sor között) elrejteni az összes olyan sort, ahol az M oszlopban nulla áll?

Sánta Kutya (SK) Creative Commons License 2012.08.14 0 0 18601

Első próba: a munkalap másolásakor egy percre lefagyott az Excel, aztán tényleg lemásolódott gombostul, és most mind a két munkalaphoz ugyanaz a makró tartozik. Ez végül is jó, úgyis egyforma munkalapokat akarok.

Előzmény: Delila10 (18588)
Delila10 Creative Commons License 2012.08.13 0 0 18599

Lapfülön jobb klikk, Kód megjelenítése.

Bal oldalon látod, hogy a lapod kódját írod, akár a VB szerkesztőben is kiválaszhatod.

Fent a jobb oldali legördülőben a (Declarations) feliratot látod, balra mellette a (General)-t. Ezt legördíted, és a Worksheet-et választod. Alapból ez jelenik meg:

 

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


End Sub 

 

Ha nem akarod, hogy minden fókuszváltás elindítsa a makrót, csak 1-1 módosítás, akkor vedd ki a címből a Selection részt.

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

Illetve máris van egy: hogyan tudok a megadott munkalaphoz makrót rendelni, amely bárhol a munkafüzetben történt módosítás hatására lefut? A múltkor látott Worksheet_Change mintájára próbálkoztam a Workbook_Change makróval, ami a Google szerint létezik is, de nem sikerült életet lehelnem belé.

Delila10 Creative Commons License 2012.08.13 0 0 18597

Szívesen. :)

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

Szuper! A lapszámot azért használtam, mert a lapnévvel nem működött, és a hibakeresés idejére egyszerűsíteni akartam. Most ott tartok, hogy a kezdőlapon fel vannak sorolva egymás alatt feldolgozandó munkalapnevek, és végigmegy az ott megnevezett munkalapokon, és mindegyikbl az A3 cella éertékét kiírja egy msgboxba. Ez persze csak teszt, de már el tudok indulni az igazi feladattal. :-) Hálás köszönetem, és holnap is lesznek kérdéseim!

Előzmény: Delila10 (18595)
Delila10 Creative Commons License 2012.08.13 0 0 18595

Helyesen

Set ws= ThisWorkbook.Sheets(1)

 

Mivel előfordulhat, hogy megváltoztatod a lapok sorrendjét, érdemesebb a lapnévvel hivatkozni rá.

 

Set ws=Sheets("lapnév")

 

Ha bezárod a personalt, akkor nem veheted igénybe a benne lévő makrókat.

Megszüntetheted a tálcán való megjelenését.

 

 

Na még egy usor:

usor=range("A1").end(xldown).row

Ez a folyamatosan kitöltött A oszlop utolsó sorának a számát adja.

Ha 100-ig folyamatos, majd A105-ben újra van adat, az usor értéke 100 lesz.

Azonos azzal a művelettel, mikor az A1 cellán adsz egy Ctrl+le nyilat.

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

Dolgoznék a fülekkel, és már az első lépésnél elakadtam.:-(

 

Private Sub Összesít()
    Dim lapok() As String
    Sheets(1).Range("D5") = 98 ' Ez még lefut
    Dim ws As Worksheet
    ws = ThisWorkbook.Sheets(1)
End Sub

 

91-es hiba: "object variable or with block variable not set " (akár van benne thisworkbook, akár nincs). Próbáltam ráguglizni, de amit találtam, nem tűnik adekvátnak.

 

 

Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18593

Ez klassz, köszi!

Előzmény: Delila10 (18588)
Sánta Kutya (SK) Creative Commons License 2012.08.13 0 0 18592

Nem sebesség kérdése, hiszen nyitva is marad, amíg kézzel be nem zárom.

Előzmény: Delila10 (18591)
Delila10 Creative Commons License 2012.08.13 0 0 18591

Nem gondoltam, hogy van az enyémnél is lassúbb gép. Nálam nem látszik. :D

Előzmény: Sánta Kutya (SK) (18590)

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