Keresés

Részletes keresés

terra700 Creative Commons License 2007.01.30 0 0 4952
Ok, így már tiszta. Akkor biztos működni fog. Neki is látok. Köszönöm.
Előzmény: Törölt nick (4950)
Törölt nick Creative Commons License 2007.01.30 0 0 4951
természetesen,  amikor használod a függvényt, akkor jelölöd ki a tartományokat...
Előzmény: Törölt nick (4950)
Törölt nick Creative Commons License 2007.01.30 0 0 4950

A függvényben a második és harmadik argumentum egy-egy tartomány, ott szerepelnie kell a munkalap nevének is cellahivatkozásokon kívül, de ezt úgy látom megadtad eddig is, apééldában ez jónak tűnik, gondolom az egérrel kijelölted a megfelelő munkalapon a cellatartományt ilyenkor, csak megjegyeztem , hogy ez nem maradhat ki....

Előzmény: terra700 (4949)
terra700 Creative Commons License 2007.01.30 0 0 4949

Ezt próbáld ki, (persze a tartományhivatkozásoknál a munkalap nevét is tartalmazó teljes hivatkozást kell megadni, egérrel a legegyszerűbb kijelölni):

 

 

EZT nem értem! Mi az a tartományhivatkozás, kérlek írd le részletesen. Tudom, hogy este van, nekem se fog az agyam...bár lehet, hogy sose fogott.

Előzmény: Törölt nick (4946)
terra700 Creative Commons License 2007.01.30 0 0 4948

Ja, az eredeti a jó, a második példát fordítva írtam fel. Elrontottam, bocs.

Előzmény: Törölt nick (4947)
Törölt nick Creative Commons License 2007.01.30 0 0 4947
Ezt a megadott példádat viszont nem értem, mert mintha más lett volna az eredeti kérdés a 4775-ben. Eredetileg a pl. 10211, 10200 számokat egy megadott oszlop tartalmazta Pl. A. Itt pedig egy sorban szerepelnek. ?
Előzmény: terra700 (4943)
Törölt nick Creative Commons License 2007.01.30 0 0 4946

Ezt próbáld ki, (persze a tartományhivatkozásoknál a munkalap nevét is tartalmazó teljes hivatkozást kell megadni, egérrel a legegyszerűbb kijelölni):

 

 Function Osszegzo(Szam As Long, Tart As Range, Tartb As Range) As Variant
Dim t As Long
Dim k As Long
Dim Hol() As Byte
Dim Sor1 As Long
Dim Sorveg As Long
Dim Col1 As Integer
Dim Col1b As Integer
Dim Colvegb As Integer
Dim Osszeg As Variant

On Error GoTo Hiba
Osszegzo = 0
Sor1 = Tart.Cells(1, 1).Row
Sorveg = Sor1 + Tart.Rows.Count - 1 '
Col1 = Tart.Cells(1, 1).Column
Col1b = Tartb.Cells(1, 1).Column
Colvegb = Col1b + Tartb.Columns.Count - 1
ReDim Hol(Sor1 To Sorveg)
For t = Sor1 To Sorveg
    Hol(t) = 0
    If WorksheetFunction.IsNumber(Worksheets(Tart.Parent.Name).Cells(t, Col1).Value) Then
       If Szam = Val(Worksheets(Tart.Parent.Name).Cells(t, Col1)) Then Hol(t) = 1
     End If
Next t

For t = Sor1 To Sorveg
      If Hol(t) = 1 Then
            For k = Col1b To Colvegb
            If WorksheetFunction.IsNumber(Worksheets(Tart.Parent.Name).Cells(t, k).Value) Then
                Osszeg = Osszeg + Val(Worksheets(Tart.Parent.Name).Cells(t, k).Value)
            End If
            Next k
      End If
Next t
Osszegzo = Osszeg
Exit Function
Hiba:
End Function

Előzmény: terra700 (4944)
stromba Creative Commons License 2007.01.30 0 0 4945
Előzmény: peterdudas (4933)
terra700 Creative Commons License 2007.01.30 0 0 4944

Ja és ezt használom:

 

Function Osszegzo(Szam As Long, Tart As Range, Tartb As Range) As Variant
Dim t As Long
Dim k As Long
Dim Hol() As Byte
Dim Sor1 As Long
Dim Sorveg As Long
Dim Col1 As Integer
Dim Col1b As Integer
Dim Colvegb As Integer
Dim Osszeg As Variant

On Error GoTo Hiba
Osszegzo = 0
Sor1 = Tart.Cells(1, 1).Row
Sorveg = Sor1 + Tart.Rows.Count - 1
Col1 = Tart.Cells(1, 1).Column
Col1b = Tartb.Cells(1, 1).Column
Colvegb = Col1b + Tartb.Columns.Count - 1

ReDim Hol(Sor1 To Sorveg)
For t = Sor1 To Sorveg
    Hol(t) = 0
    If WorksheetFunction.IsNumber(Cells(t, Col1).Value) Then
       If Szam = Val(Cells(t, Col1)) Then Hol(t) = 1
     End If
Next t
For t = Sor1 To Sorveg
      If Hol(t) = 1 Then
            For k = Col1b To Colvegb
                 If WorksheetFunction.IsNumber(Cells(t, k).Value) Then
                        Osszeg = Osszeg + Val(Cells(t, k).Value)
                 End If
            Next k
      End If
Next t
Osszegzo = Osszeg
Exit Function
Hiba:
End Function

Előzmény: terra700 (4943)
terra700 Creative Commons License 2007.01.30 0 0 4943
Szia DJCarlos!

 

Amint írtam, az általad írt függvény hibátlanul működik, ha egy lapon van a függvényhez szükséges adatokkal, de ha a függvény más lapon működik, akkor már „lebénul”. Próbáltam modulba illeszteni, makróba írni, de sehogy se jó. Átírtam mind a két ciklust is. Úgy, hogy a #HIÁNYZIK felirat van a keresett sorban, úgy is jó, működik. Csak valahogy ezzel a 2 munkalapos dologgal nem bír el. Nem lehet, hogy minden egyes munkalaphoz modult kéne rendelni?

 

Mindenesetre leírom azt az egyszerű példát, amivel kísérleteztem:

 

01 munkafüzet:

 

A1 cella: 10211

A2: 1

A3: 1

 

B1: 10212

B2: (üres)

B3: 1

 

C1: 10211

C2: 1

C3: 1

 

02 munkafüzet:

 

A1 cella: =Osszegzo(10211;'01'!A1:A3;'01'!B1:B3)

 

A végösszegnek 2-nek kellene lennie!

 

Ezzel szemben az alábbi üzenetet írja ki:

 

„A Microsoft Excel nem tud egy képletet kiszámítani. Körkörös hivatkozás szerepel az egyik megnyitott munkafüzetben, de ebben az esetben a kört alkotó hivatkozások nem listázhatóak. Próbálja meg a legutoljára beírt képletet módosítani, vagy pedig törölni azt a Szerkesztés menü Visszavonás parancsával.”

 

Remélem, ez segít neked és remélem rajtam is segít. Jó lenne, ha működe ez a függvény.

 

Köszönöm.
Törölt nick Creative Commons License 2007.01.30 0 0 4942
...pfff...
Koszonomszepen!
Jovok neked.
Előzmény: Törölt nick (4941)
Törölt nick Creative Commons License 2007.01.30 0 0 4941
Rows(ActiveCell.Row).Select
Előzmény: Törölt nick (4939)
terra700 Creative Commons License 2007.01.30 0 0 4940

És akkor még egy gond!

 

A függvény csak azon a lapon működik, ahol az adatok vannak. Sajnos ebben az Excel táblában 31 munkalapon vannak a bevitt adatok a 32.-en meg a függvény dolgozik.

 

Ki lehet ezt valahogy küsszöbölni?

Előzmény: Törölt nick (4931)
Törölt nick Creative Commons License 2007.01.30 0 0 4939
ActiveCell.Rows.Select -re nem csinal semmit, nem tudom hogy miert (biztos van oka, de nem ertek hozza...)
Előzmény: Törölt nick (4938)
Törölt nick Creative Commons License 2007.01.30 0 0 4938
azt hogy kell definialni makroba, hogy aktiv cella soranak kijelolese?
terra700 Creative Commons License 2007.01.30 0 0 4937

Ok megvan, meee ügyes vagyok.

Előzmény: terra700 (4935)
k-betti Creative Commons License 2007.01.30 0 0 4936
Sziasztok!

 

Segítséget szeretnék kérni. Annak idején Csacsifiútól kaptam az alábbi makrót. A makró futtatáskor a C és D oszlopokat egymás mellé másolja, amennyiben a B oszlop eltérő értéket mutat. 

Szeretném úgy átírni, hogy a másolás ne csak a C és D oszlopra, hanem C, D, E oszlopra, illetve C, D, E, F oszlopra vonatkozzon. Sajnos ez a feladat a magyarázó szöveg ellenére is kifogott rajtam.  

Hol kell megváltoztatnom a számokat, hogy a makró a fentiek szerint működjön?

 

Segítségeteket köszönöm.  

 

Sub betti2()

Dim i, j, l, n, k As Double

 

' indítás előtt B oszlop szerint rendezni és fejlécet adni neki

' a C és D oszlopot egy sorba másolja egymás után folyamatosan

 

Application.ScreenUpdating = False

'csinál egy másolatot a munkalapról, hogy az eredetit ne ronthassa el

ActiveSheet.Copy After:=ActiveSheet

 

'ahol a B oszlop értéke változik, oda beszúr egy új sort

i = Selection.SpecialCells(xlCellTypeLastCell).Row

For n = i To 3 Step -1

If Cells(n, 2) <> Cells(n - 1, 2) Then

Rows(n).EntireRow.Insert

End If

Next n

 

'az összetartozó dolgokat kimásolja a megfelelő sorba

i = Selection.SpecialCells(xlCellTypeLastCell).Row

For n = 2 To i

Cells(n, 3).Select

If Cells(n, 2) = Cells(n + 1, 2) And Cells(n, 2) <> "" Then

Selection.End(xlDown).Select

k = ActiveCell.Row

    l = 5

    For j = n To k

    Cells(n, l) = Cells(j, 3)

    Cells(n, l + 1) = Cells(j, 4)

    l = l + 2

    Next j

n = k

ElseIf Cells(n, 2) <> Cells(n + 1, 2) And Cells(n, 2) <> "" Then

Cells(n, 5) = Cells(n, 3)

Cells(n, 6) = Cells(n, 4)

End If

Next n

'kitörli az eredeti C és D oszlopot

Columns("c:d").EntireColumn.Delete

Application.ScreenUpdating = True

'meghívja a delete makrót

Call Delete

 

End Sub

terra700 Creative Commons License 2007.01.30 0 0 4935

Sziasztok!

 

Szeretnék zárolni egy lapot. Nincs is vele semmi gond csak a kombi panellel. Hiába unlock-oltam a kombi panel alatti cellát, lapvédelem után nem lehet módosítani/használni a kombi panelt.

 

Valakinek van vmi ötlete, hogy miért?

 

Köszönöm

bearnie16 Creative Commons License 2007.01.30 0 0 4934

Sziasztok!

 

Egy egyszerű, számomra egyenlőre mégsem megoldott kérdésem lenne. Hogy tudom beállítani a megjegyzés tulajdonságait úgy, hogy az alapértelmezetten működjön. Tehát ha létre akarok hozni egy új megjegyzést, akkor azzal a beállítással hozza létre, amit én beállítottam. Mert egyenként fárasztó szerkesztgetni, és szeretném, ha olyan lenne, amilyet én szeretnék. Remélem tud nekem ebben valaki segíteni... várom az esetleges segítségeket. És persze előre is köszi. Minden jót.

peterdudas Creative Commons License 2007.01.30 0 0 4933

Sziasztok!

 

  Egy olyan Excel programon dolgozom, aminél szerintem a makrók használata megkönnyítené a használatot. Tdnátok nekem segíteni és küldeni olyan anyagot, amiből meg tudom tanulni az makrók alapjait??

 

  Köszi a segítséget.

 

Peti

terra700 Creative Commons License 2007.01.30 0 0 4932

Hibátlanul és remekül MŰKÖDIK!!!

 

1000 köszönet

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

Ja igen, sorry ezt elnéztem, a másik tartományt vizsgáltam.

Szóval az első for ciklust erre lecserélni, a korábbi javítás maradhat:

 

For t = Sor1 To Sorveg
    Hol(t) = 0
    If WorksheetFunction.IsNumber(Cells(t, Col1).Value) Then
       If Szam = Val(Cells(t, Col1)) Then Hol(t) = 1
     End If
Next t

Előzmény: terra700 (4930)
terra700 Creative Commons License 2007.01.30 0 0 4930

Sehogy se megy, akárhogy próbálom. Minden modult kitöröltem és újra beírtam (az átírtat), de NEM megy! A függvény ugyan úgy működik. Ha van a sorban egy #HIÁNYZIK cella, akkor nem működik, nem számol!

 

Segítség!

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

A 4811-es Osszegzo függvényben az utolsó ciklust erre kéne lecserélni:

 

For t = Sor1 To Sorveg
      If Hol(t) = 1 Then
            For k = Col1b To Colvegb
                 If WorksheetFunction.IsNumber(Cells(t, k).Value) Then
                        Osszeg = Osszeg + Val(Cells(t, k).Value)
                 End If
            Next k
      End If
Next t

 

 

Előzmény: terra700 (4927)
Törölt nick Creative Commons License 2007.01.29 0 0 4928
csak bele kell ágyazni egy HA() függvénybe a megírt felhasználói függvényt. Pl.:
HA(HIBÁS(eredeti felhasználó függvény);" ";eredeti felhasználói függvény)
Előzmény: terra700 (4927)
terra700 Creative Commons License 2007.01.29 0 0 4927

Szia DJCarlos!

 

Egy utolsó NAGY segítséget szeretnék kérni! Az általad írt függvényről lenne szó!

 

Ha A1:A10 között valahol van #HIÁNYZIK felirat, akkor "nem működik" az összegző függvény. Nem lehetne ezt valahogy "kijavítani", hogy ne vegye figyelembe ezeket a sorokat.

 

Hálás köszönettel!

Előzmény: Törölt nick (4836)
Ram25 Creative Commons License 2007.01.29 0 0 4926
Hogyan lehet az 'Automatikus formázás' menüponton belüli formázási listát saját formátummal bővíteni?
Ram25 Creative Commons License 2007.01.29 0 0 4925
Hogyan lehet az 'Automatikus formázás' menüponton belüli formázási listát bővíteni a saját formátumunkkal?
extekergo Creative Commons License 2007.01.28 0 0 4924
Bocs, ezt nem akartam. Hogy miért nem tudok hozzászolni ide-oda? Valami gubanc van indexéknél! :((
Előzmény: extekergo (4923)
extekergo Creative Commons License 2007.01.28 0 0 4923
_

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