Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sh4d0w: Kalózkodás. Kalózkodás?
- Magga: PLEX: multimédia az egész lakásban
- Mr Dini: Mindent a StreamSharkról!
- Lalikiraly: Astra kalandok @ Harmadik rész
- bambano: A sor végén
- eBay-es kütyük kis pénzért
-
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
-
Fferi50
Topikgazda
Szia!
Próbáld ki ezt a képletet:=SZUMHATÖBB($B$2:$B$16;$A$2:$A$16;">="& A6;$A$2:$A$16;"<=" & A10)
De az A6 és A10 cellák helyett másik cellákba is írhatod a határokat, akkor azt kell megadnod helyettük.
Üdv.
PS. Ha konkrét célösszeget szeretnél megkapni adott dátumok között, akkor viszont az Excel Solver bővítményét kell használnod a kalkulációhoz. A SZUMHATÖBB függvény kalkulációra nem alkalmas, nem tudsz vele "válogatni" a számok között, hogy egy megadott érték legyen az eredmény, csak az összes feltételnek megfelelő értékeket adja össze.
(Ezt a megjegyzést a pl. 20 legyen kitétel miatt fűztem hozzá.) -
Delila_1
veterán
Kipróbáltam, csak 20-ig írja rendesen. A 21-40 sorokban megint 1-gyel kezdődnek a számok, de zárójelek közé teszi. 41-60 között pontot tesz a számok után, de itt is 1 a kezdő érték. A 61-86 sorokban zárójelek között az ABC kisbetűi következnek, majd kör közepén a nagybetűk.
Érdekes, még nem tudom, mire lehetne használni. -
Fferi50
Topikgazda
Szia!
Ezt találtam a Help-ben:
"A külső adattartományokat automatikusan frissítheti a munkafüzet megnyitásakor. A külső adatok mentése nélkül is mentheti a munkafüzetet a fájl méretének csökkentése érdekében.
Jelöljön ki egy cellát a külső adattartományban.
Válassza az Adatok > Lekérdezések & Kapcsolatok > Kapcsolatok lapot, kattintson a jobb gombbal egy lekérdezésre a listában, majd válassza a Tulajdonságok lehetőséget.
A Kapcsolat tulajdonságai párbeszédpanel Használat lapján, a Frissítés vezérlő alatt jelölje be az Adatok frissítése a fájl megnyitásakor jelölőnégyzetet.
Ha a munkafüzetet a lekérdezés definíciójával együtt, de a külső adatok nélkül szeretné menteni, jelölje be az Adatok eltávolítása a külső adattartományból a munkafüzet mentése előtt jelölőnégyzetet."
Üdv. -
-
TheSaint
aktív tag
-
Fferi50
Topikgazda
Szia!
Például: abban a munkafüzetben, amiben a makró van, egy munkalap egy cellájába beírod a következő nyomtatás dátumát(időpontját). A makróval megnézed, hogy a cellában levő dátum/idő elmúlt-e már, ha igen akkor átírod a dátumot a következőre és nyomtatsz egyet, ha nem, akkor a makrónak nyomtatás nélkül vége.
Üdv. -
Ennek a kérdésnek semmi értelme, mert:
1. Teljesen lényegtelen, hogy egy adott XLS/XSLX táblázatot mikor nyomtattál ki, ha közben eltelt 1 év... (pl. 1 éve kinyomtattál egy Excel táblát, de 1 órája meg nyomtattál akármit...)
2. Az OS automatikusan hozzárendeli a fájlhoz, az utolsó nyomtatási idejét, de ez nem mérvadó, lásd feljebb... (jobb egér a fájlon, tulajdonságok/részletek fül -> utolsó nyomtatás dátuma)Szóval, ha nem akarod, hogy beszáradjon a masina (van benne tapasztalatom, most már kb. 7-9 éve az ECO Tank Epson-okkal), akkor minden hónapban 1x nyomtass ki egy szines képet, jó minőségben, oszt' ennyi...

-
Ha a legelején ezt így írtad volna le, akkor nem kellett volna köröket futni...

Én biztos nem foglalkoznék se képlettel, se makróval ez esetben, hanem az Összes lapon egy szűrőt dobnék a 2. sorra, az alapján bármely oszlop szerint lehet szűrni, szűrés után kijelölni a szűrt sorokat, aztán copy-paste-el meg beilleszteni a Keres lapra, ennyi(hivatkozások is jók lesznek). -
Akkor csak arról van szó, hogy leklónozd a hiperhivatkozást? Ha igen, akkor
1. ELTOLÁS fx-re semmi szükség
2. Csak makróval lehet megoldani (tudom, írtad, hogy makró nélkül, de úgy nem megy)
# ALT+F11
# ThisWorkbook/jobb egér/Insert Module
# beilleszted az alábbi kódotFunction FireGetURLFromHyperlink(MySrcRange As Range) As String
FireGetURLFromHyperlink = MySrcRange.Hyperlinks(1).Address
End Function# így hivatkozol egy hiperlinket tartalmazó cellára
=HIPERHIVATKOZÁS(FireGetURLFromHyperlink(Összes!A2);Összes!A2) -
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
Szia!
A képleted nem pontos! Az FKERES függvénynek van egy negyedik paramétere, amelyik azt határozza meg, hogy pontos egyezést keressen-e vagy közelítőt. Ha ezt a paramétert elhagyjuk, akkor közelítő egyezést keres.
Ezért a képletedet a 4. paraméterrrel ki kell egészíteni:=HAHIBA(FKERES(DÁTUM($A3;B$2+1;1)-1;RTab;2;0);"")
Üdv. -
VGYke
addikt
Bocsánat, most látom lemaradt a kérdésem: az adott feladatra tud valaki egyszerűbb megoldást?
1-munkalapon a "szájbarágós" képletekkel, 2-munkalapon az egymásba másolt képletekkel mutatom be a saját megoldásomat, ami túl bonyolultnak tűnik számomra.
Van egyszerűbb megoldásod?
-
Delila_1
veterán
Mese a megjegyzésekben.

Sub Gyomlal()
'Az A1:A10 tartomány beírása az "eredeti" tömbbe
eredeti = Application.Transpose(Range("A1:A10"))
'Egyformák törlése az A oszlopból
For sor = 10 To 1 Step -1
If Application.CountIf(Columns(1), Cells(sor, 1)) > 1 Then _
Cells(sor, 1).Delete Shift:=xlUp
Next
'A kigyomlált A1:Ax tartomány beírása az "uj" tömbbe
usor = Range("A1").End(xlDown).Row
uj = Application.Transpose(Range("A1:A" & usor))
End Sub -
-
Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Sub Play_Click()
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
WAVFile = "D:\test.wav"
Call PlaySound(WAVFile, 0&, SND_ASYNC Or SND_FILENAME)
End Sub
Private Sub Stop_Click()
Call PlaySound(vbNullString, 0&, SND_ASYNC Or SND_FILENAME)
End SubMegjegyzés
A deklarációba bekerült nálam a PtrSafe, mert x64-es a rendszerem. 32 bites rendszernél nincs rá szükség. -
-
poffsoft
veterán
If Not IsError(Application.WorksheetFunction.Match(Cells(i, 1), Range(Cells(i + 1, 1), Cells(10, 1)), 0) Then Application.WorksheetFunction.Match(Cells(i, 1), Range(Cells(i + 1, 1), Cells(10, 1)), 0)
legalábbis gugli szerint
az előző kérdésemre senki semmit?[link]
-
VGYke
addikt
Magamnak válaszolok, de hátha valaki tudja a megoldást.. Az a baj, a VB kiakad a vasúti sínnél (hiányzik).Átírtam a fentieket (gondolkodás nélkül, primitíven):
Do While Application.WorksheetFunction.Match(Cells(i, 1), Range(Cells(i + 1, 1), Cells(10, 1)), 0) = True
A Do While -ba írtam már mindent: "most: TRUE, előbb>0; isnumeric(), stb", nem hathtja meg. A Vasúti sínnél kiakad.
-
Delila_1
veterán
Egy kicsit egyszerűsítettem a 2. adatnál. Kevesebb változó, kevesebb számolás.
El tudod küldeni? Megnézném, mi lassítja.
A változók nevét érdemes úgy meghatározni, hogy utaljanak a tartalmukra.Sub Kitolt_1()
Dim WS As Worksheet
Dim sor%, usor%
Set WS = Sheets("Lekérdezés")
usor% = WS.UsedRange.Rows.Count
For sor% = 1 To usor% - 1
Cells(sor% + 1, 1) = WS.Cells(sor%, 1)
szla = WS.Cells(sor%, 2)
Cells(sor% + 1, 2) = Left(szla, 8) + "-" + Mid(szla, 9, 8) + "-" + Mid(szla, 17, 8)
'......hasonló 8. oszlopig
Next sor%
End Sub -
Delila_1
veterán
Az ActiveSheet.UsedRange.Rows.Count az aktív lap utolsó kitöltött sorának a számát adja, az ActiveSheet.UsedRange.Columns.Count pedig az oszlopét.
Ebből következik, hogy a ter nevű változónak az A1 cellától az utolsó használatban lévő oszlopig és sorig tartó területet adjuk meg. Ebben a tartományban keressük a meghatározott szöveget.
Én is autodidakta módon tanulok.
-
Delila_1
veterán
Az ActiveSheet.UsedRange.Rows.Count az aktív lap utolsó kitöltött sorának a számát adja, az ActiveSheet.UsedRange.Columns.Count pedig az oszlopét.
Ebből következik, hogy a ter nevű változónak az A1 cellától az utolsó használatban lévő oszlopig és sorig tartó területet adjuk meg. Ebben a tartományban keressük a meghatározott szöveget.
Én is autodidakta módon tanulok.
-
Delila_1
veterán
A makró kiírja a Blabla szöveget tartalmazó cella címét, és beteszi a sor és az oszlop változókba a címnek ezt a két adatát, további felhasználás céljára.
Sub keres()
Dim ter As Range, CV As Variant, sor As Long, oszlop As Long
Set ter = Range(Cells(1, 1), Cells(ActiveSheet.UsedRange.Rows.Count, _
ActiveSheet.UsedRange.Columns.Count))
For Each CV In ter
If CV = "Blabla" Then
sor = CV.Row: oszlop = CV.Column
MsgBox CV.Address
Exit For
End If
Next
'A sor és oszlop változó további felhasználása
'...
'...
End Sub -
poffsoft
veterán
nem lehetne elnevezned a tartományokat mondjuk H : H ="forrás" és G : G ="cél"?
és cells helyett a range("forrás").range("A" & I) -vel hivatkozni a cellákra?Vagy másik megoldás a lapodhoz rendelni egy subot, ami minden változáskor megkeresi, hogy hová került a H oszlop fejléce. De ezt nem mondanám elegánsnak...
-
VGYke
addikt
Lejárt az időm, bocs... a fentiekhez annyit, hogy egy megoldást tudok:
Do - Loop feltételes ciklussal megkeresem mi van a "H1"-be mint oszlop elnevezésbe írva és ha az ami, oda kell beírni az adatokat (példámban ahol vége a ciklusnak, 8, ha törlünk, hozzáadunk oszlopokat, akkor más).
De nincs erre valami elegánsabb, rövidebb megoldás?
Új hozzászólás Aktív témák
- Dell Precision 5560 i7-11850H vPro FHD+ 100%sRGB 16GB 512GB Nvidia Quadro T1200 1 év teljeskörű gar!
- Xbox Series X 1 TB + kontroller 6 hó garancia, számlával!
- HIBÁTLAN iPhone 12 Mini 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3633,94% Akkumulátor
- Lenovo ThinkPad P15 Gen 1 Intel i7-10875H 32GB 512GB Nvidia Quadro RTX 3000 1 év garancia
- Tablet felvásárlás! Samsung Galaxy Tab S10+, Samsung Galaxy Tab S10 Ultra, Samsung Galaxy Tab S10 FE
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest






Fferi50
