- Honor Magic6 Pro - kör közepén számok
- Yettel topik
- Huawei P30 Pro - teletalálat
- Android alkalmazások - szoftver kibeszélő topik
- Készülőben a Xiaomi 2021-es csúcsmodelljeinek HyperOS frissítése
- Samsung Galaxy A54 - türelemjáték
- Honor Magic5 Pro - kamerák bűvöletében
- Fotók, videók mobillal
- Netfone
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
Hirdetés
-
Agyi chipes gyártóba fektetett a kriptocég
it A Tether 200 millió dollárt fektet a Blackrock Neurotech agyi chipes vállalatba.
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Megjelenési dátumot kapott a Star Wars: Hunters
gp A tervek szerint június elején végre befut a teljes kiadás mobilokra/tabletekre és Nintendo Switch-re.
-
Mobilarena
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
-
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?[ Szerkesztve ]
kutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
poffsoft
addikt
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...
[ Szerkesztve ]
[ Szerkesztve ]
-
Delila_1
Topikgazda
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 SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
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.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
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.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
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[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
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.[ Szerkesztve ]
kutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
poffsoft
addikt
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]
[ Szerkesztve ]
[ Szerkesztve ]
-
félisten
Igen, jó kis tréfa, kár hogy most magadat viccelted meg. 2 megoldás is lehet
1. SND_SYNC-re cseréled a SND_ASYNC-et (ilyenkor megáll a lejátszás ha pl kilépsz az excel-ből
2. WAVFile helyett Vbnullstring-el hívod meg újra a playsound-ot.Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
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.[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
-
Delila_1
Topikgazda
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 SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
VGYke
addikt
Ok látom, ezen kérdésemmel rossz helyen járok, de tudnátok javasolni megfelelő fórumot? Kiegészítés: nem Excel, hanem vagy Office, vagy win10 probléma, mert Word-nél is ugyan ezt csinálja, beszúrt link-re kattintva, hiba!
kutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
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?
kutya az ember legjobb barátja... lenne, ha tudna kölcsönadni
-
-
Fferi50
őstag
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. -
Fferi50
őstag
-
félisten
-
félisten
Ilyen nem fordulhat elő, kivéve, ha az
Összes!A2
cellában a hiperlink URL címe és felirata eltér. Csak vidd a hiperlink fölé az egérkurzort és ellenőrizd.
Összes!A2 | Munka2!A1[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
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)
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
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).Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
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...
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Fferi50
őstag
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.[ Szerkesztve ]
-
TheSaint
aktív tag
Új hozzászólás Aktív témák
- Honor Magic6 Pro - kör közepén számok
- Debrecen és környéke adok-veszek-beszélgetek
- ZIDOO médialejátszók
- Futás, futópályák
- Vallás
- TCL LCD és LED TV-k
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Yettel topik
- Huawei P30 Pro - teletalálat
- Azonnali fotós kérdések órája
- További aktív témák...
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Steames kulcsok jó áron eladóak!