Hirdetés
-
LOGOUT.hu
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
-
thee
csendes tag
Sziasztok!
Két témában lenne kérdésem.
1. Könyvtárat szeretnék létrehozni VB-vel, viszont nem tudom azt, hogy létezik-e már az adott könyvtár, és a MkDir parancsnál leáll a program futása, ha már létezik az emlegetett könyvtár.
Szóval miképp lehetne ezt megoldani? Valahogy lehet ellenőrizni azt, hogy létezik-e már a könyvtár?2. Egy TextFile-ban van rengeteg adat, amit egy 10001 soros és 401 oszlopos táblázatba lehetne elrendezni. Egy darab tömbbe be lehet olvastatni ennyi adatot?
Kétdimenziós tömb feltöltésére, kiolvasására tudnátok példát mutatni?(Tömb témában egyébként hol lehet jól tájékozódni? Jó lenne valami értelmes infó róla, mert még sose használtam őket, a VB súgójában meg túl sok infót nem találtam.)
Előre is kösz a választ!
-
félisten
válasz lacipapi #14500 üzenetére
Private Sub Workbook_Open()
Application.OnKey "^%{d}", "FSCD_CTRL_ALT_D"
End SubModule1-be
Public Sub FSCD_CTRL_ALT_D()
MsgBox ("CTRL+ALT+D billentyűzetkombináció")
End SubA súgóban részletes infót találsz az OnKey esetén használható billentyűzet "kódokról".
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)
-
thee
csendes tag
Kösz!
Sok ebben a számomra ismeretlen parancs, ha jól látom, akkor worksheet-re menti az adatokat.
Most én is hasonló megoldást használok, de lehet, hogy tömbre kéne váltani, mert az a módszer könnyebben kezelhetőnek és gyorsabbnak tűnik, nekem meg sok és sokféle műveletet kellene csinálnom az adatokkal. -
lacipapi
csendes tag
-
dkaro
őstag
Sziasztok!
Egy kis segítség kellene.
Létrehoztam egy legördülő listát (Adatok/Érvényesítés menüponttal).
Ez a lista sok 100 nevet tartalmaz.
Be lehet állítani, hogy kereshető legyen ez a lista tehát mondjuk egy betű megnyomására oda ugorjon ahol az olyan kezdőbetűjű nevek vannak?
köszönöm! -
félisten
Ha ráállsz a cellára és begépelsz valamit a keresésnek megfelelően, majd lenyitod a listát, akkor automatikusan oda ugrik. Ha nincs olyan elem vagy olyan kezdetű elem a listában, amit begépeltél, akkor a lista lenyitásakor egy hibaablak tájékoztat erről.
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)
-
pirit28
csendes tag
Sziasztok !
A következő problémában szeretném a segítségeteket kérni.
Egy 2002-es excel táblázatomban,ha egy megadott cella értéke változik akkor ugyanebben a lapban egy másik cellában hogyan tudnám a pontos időt kiiratni? Ezt ugye szeretném a megadott cella minden egyes változásakor végrehajtani,és csakis az adott cella változásakor.
Ami még fontos lehet ,hogy az A1-es cellában egy SUM függvény található.Köszönöm !
-
dkaro
őstag
válasz Fire/SOUL/CD #14509 üzenetére
Szia!
Sajnos nekme nem ugrik oda vmiért. Ha a hibajelzés be van kapcsolva akkor az üzenet ugrik fel, ha nincs akkor semmi nem történik ugyan úgy az 1. elem jelenik meg. -
lacipapi
csendes tag
válasz Fire/SOUL/CD #14504 üzenetére
Lenne még egy kérdésem. Ha az első rutinba beteszek egy változót (pl. jel=1), annak az értékét hogyan tudom átvinni a Modul1 -ben lévő rutinba.
Lelkes, de már egy kicsit idős amatőr
-
Delila_1
veterán
-
Delila_1
veterán
válasz lacipapi #14512 üzenetére
Ahogy pár napja már írtam, a Module1-ben lévő makró neve után beírod a változó nevét, amit át akarsz adni, annak a makrónak a neve utáni zárójelbe szintén beírod a változó nevét.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Rhino666
addikt
Üdv!
Villámkérdés:
A B
1 0
2 3
1 1
4 1Nekem egy cellában kellene az A és B oszlop különbségeinek a négyzetösszege (tehát ezeké: -1; -1; 0; 3). Ezt próbáltam, de #ÉRTÉK hibával elszáll: NÉGYZETÖSSZEG((A1 : A4)-(B1 : B4)). Hogy lehet oszlopból kivonni másik oszlopot soronként?
Köszönettel:
Rhino666[ Szerkesztve ]
Akko switchek és Krytox, Keychron kenőanyagok raktárról! https://reduced.to/3pazm
-
Rhino666
addikt
válasz Delila_1 #14518 üzenetére
Nem jo, az elso sorbol A ertekebol az elso sor B erteket kell kivonni, nem az A szummajabol a B szummajat.
Tehat ez: NEGYZETOSSZEG(-1; -1; 0; 3)
Nem pedig ez: NEGYZETOSSZEG(8; 6)[ Szerkesztve ]
Akko switchek és Krytox, Keychron kenőanyagok raktárról! https://reduced.to/3pazm
-
Delila_1
veterán
válasz Rhino666 #14519 üzenetére
Az eredmény ugyanaz, így is, úgy is 3, aminek a négyzete 9.
Szerk.:
Közben rájöttem, hogy nem mindegy. A C1 képlete =A1-B1, ezt lemásolod C4-ig.
Az eredményt a {=NÉGYZETÖSSZEG(C14)} képlettel számolhatod ki. A francia zárójelek úgy adódnak hozzá a képletedhez, hogy Shift+Ctrl+Enterrel viszed be, mert ez egy tömbképlet.[ 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.
-
-
-
félisten
-
Delila_1
veterán
válasz Fire/SOUL/CD #14526 üzenetére
Ez sem jó. Egyesével elvégezve a kivonást más eredményt ad, mint ez.
Rhino666
Megvan!
{=NÉGYZETÖSSZEG(A1:A4-B1:B4)}Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
GoZoL
senior tag
Üdv!
A probléma az FKERES függvény alkalmazásánál jön elő, hiányzik értékkel de csak ritka esetben.
A képlet: =FKERES(F10;Géplista_teszt.xls!gépek;5;HAMIS)
működése: ebben a munkafüzetben az F10-es cella értékét megkeresi egy másik fájlban a gépek nevű munkafüzet 5. oszlopában. Ha megtalálta akkor beírja az értéket.
95 %-ban működik kb 1400 sor van de bizonyos értékeket nem talál meg. Már a formátumától kezdve a cellának a tulajdonságait mindent megnéztem, de nem találtam különbséget. Ha IGAZ értékre átírom akkor működik de úgy olvastam, hogy nem a pontos értéket adja vissza hanem a hozzá legközelebbit. Még annyit, hogy 1000 alatti számokat 4 jegyűre egészítettem ki, egy darab 0-val. A hiba csak az 1000 feletti számoknál jön elő de ott sem mindenhol. Köszi! -
lacipapi
csendes tag
Sziasztok!
Azt szeretném, hogy egy fájl mentésekor automatikusan hozzon létre egy másik fájlt a fájlnévben "_masolat" kiegészítéssel. Ezt akárhányszor mentem az eredeti fájlt csinálja meg, és ne jelenjen meg az az ablak hogy "Ez a fájl már létezik. Felülírjam?". Én csináltam egy makrót, de sajna nem működik.
Sub Workbook_Save()
Dim filenev As String, kiter As String, WB As Workbook
Set WB = ActiveWorkbook
filenev = WB.Name
kiter = Right(filenev, 5)
filenev = Left(filenev, Len(filenev) - 5)
filenev = filenev & "_masolat" & kiter
filenev = WB.Path & filenev
End SubAzt érzem, hogy még innen hiányzik valami, de nem jövök rá hogy mi.
Arra is kíváncsi lennék, hogy egy profi hogyan oldaná meg ezt a feladatott, mert biztos sokat lehetne tanulni belőle.
Előre is köszönöm a segítséget.Lelkes, de már egy kicsit idős amatőr
-
lappy
őstag
válasz lacipapi #14530 üzenetére
Szia!
Sub SaveWorkbookBackup()
Dim awb As Workbook, BackupFileName As String, i As Integer, OK As Boolean
If TypeName(ActiveWorkbook) = "Nothing" Then Exit Sub
Set awb = ActiveWorkbook
If awb.Path = "" Then
Application.Dialogs(xlDialogSaveAs).Show
Else
BackupFileName = awb.FullName
i = 0
While InStr(i + 1, BackupFileName, ".") > 0
i = InStr(i + 1, BackupFileName, ".")
Wend
If i > 0 Then BackupFileName = Left(BackupFileName, i - 1)
BackupFileName = BackupFileName & "_masolat" & ".xls"
OK = False
On Error GoTo NotAbleToSave
With awb
Application.StatusBar = "Munkafüzet mentése"
.Save
Application.StatusBar = "Munkafüzet mentése..."
.SaveCopyAs BackupFileName
OK = True
End With
End If
NotAbleToSave:
Set awb = Nothing
Application.StatusBar = False
If Not OK Then
MsgBox "Biztonsági másolat nem kerül mentésre!", vbExclamation, ThisWorkbook.Name
End If
End SubBámulatos hol tart már a tudomány!
-
félisten
válasz Rhino666 #14528 üzenetére
Ez a kép alapján írd meg, milyen eredménynek kell születnie: [link]
(C oszlopban van A és B különbsége, D1-ben az én, E1-ben Delila_1 képlete. Valamelyiknek jónak kell lennie, ha nem, na akkor van forigyészi )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)
-
Rhino666
addikt
válasz Fire/SOUL/CD #14532 üzenetére
Köszi, már megoldottam, írtam rá egy makrót mert sehogy nem akarta ez a rohadék.
Akko switchek és Krytox, Keychron kenőanyagok raktárról! https://reduced.to/3pazm
-
Cuci3
tag
Hello!
Tyű de régen nem jártam erre!
Egy Excel add-in-nel kapcsolatban lenne egy kérdésem, konkrétan a Fuzzy Lookup Add-in for Excel kiegészítőhöz. Használta már valaki, illetve milyen op rendszeren, plusz mik a tapasztalatok? Win XP-re akarnám feltolni, de az nincs a támogatott op rendszerek között.Előre is köszi!
-
Delila_1
veterán
válasz Fire/SOUL/CD #14532 üzenetére
Nálam 11 volt az eredmény.
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
veterán
válasz lacipapi #14530 üzenetére
Másik módszer a másolathoz:
Sub Masolat()
Dim WB As Workbook, FN As String
Set WB = ActiveWorkbook
FN = WB.Name
Application.DisplayAlerts = False 'kérdés letiltása
WB.SaveAs Left(FN, Len(FN) - 5) & "_másolat"
Application.DisplayAlerts = True 'kérdés engedélyezése
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.
-
félisten
válasz Delila_1 #14535 üzenetére
Az ügyes, 1+(-1)+(-4)+5 hogy lesz 11 az rejtély, de határozottan ügyes. Erre csak azt lehet mondani, amit menő manó szokott, amikor ledöbben valamin/nem ért valamit, azaz forigyészi
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
veterán
válasz Delila_1 #14536 üzenetére
Javítás:
Sub Masolat()
Dim WB As Workbook, FN As String
Set WB = ActiveWorkbook
FN = Left(WB.Name, Len(WB.Name) - 5)
Application.DisplayAlerts = False 'kérdés letiltása
If InStr(FN, "masolat") Then
WB.Save
Else
WB.SaveAs FN & "_masolat"
End If
Application.DisplayAlerts = True 'kérdés engedélyezése
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
veterán
válasz Fire/SOUL/CD #14537 üzenetére
A kérdés feltevője nem akart C oszlopot, a {=NÉGYZETÖSSZEG(A1:A4-B1:B4)} képlet csak az első két oszlopból számol, és 11-et ad eredményül.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
félisten
válasz Delila_1 #14539 üzenetére
1. A példámban a C oszlopra semmi szükség, pusztán azért jelenítettem meg, hogy fejben ki lehessen számolni, hogy milyen eredménynek kellene születni
2. Szerintem csak elbeszélünk egymás mellett, mert szintén az én példámat alapul véve, azokkal az adatokkal dolgozva, a Te képleted nem adhat 11-et, 43-at kell.
(11-et azért nem értettem, mert azt feltételeztem, hogy az adataimmal ad annyit, de nyilván nem az én adataimról van szó)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)
-
lacipapi
csendes tag
Köszönöm, jól működik. A sorokat próbálom megérteni ami elég nehezen megy, de majd átrágom magam rajta. Közben egy hibájára rájöttem, ha nem haragszol akkor próbáld meg kijavítani. Ez pedig a kiterjesztés megtartásának a hiánya. Ha egy *.xlsm fájlt töltök be akkor a másolat is xlsm legyen, ugyanazzal a fálj formátummal. A makróban kijavítottam a kiterjesztést "&.xlsm" -re de akkor egy régebbi 2003-as fájlnál jelentkezik ez a hiba, sőt ha a másolatot beakarom tölteni hibával leáll (ismeretlen fájltípus, vagy sérült fálj üzenettel).
Az hiba kijavítását is előre köszönöm.[ Szerkesztve ]
Lelkes, de már egy kicsit idős amatőr
-
-
Delila_1
veterán
válasz Fire/SOUL/CD #14540 üzenetére
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
veterán
válasz lacipapi #14542 üzenetére
kiterj = Right(FN, Len(FN) - Application.WorksheetFunction.Search(".", FN) + 1)
Ez a pontot is beteszi a kiterj változóba. Ha nem kell, a végéről vedd ki a +1-et.
A search a szöveg.keres függvény angol változata.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
lacipapi
csendes tag
válasz Delila_1 #14544 üzenetére
Az előző változatot kiegészítettem a saját ízlésem szerint, (mert már ilyet is tudok, hála a fórumnak ) és tökéletesen működik. A lappy féle változat is tökéletes, csak ott a hibakezelő részt nem értem teljesen, azt, hogy mi okozhatja a hibát (de idővel majd csak rájövök).
A megjelenés szempontjából lenne még egy kérdésem. A makró futása alatt van e lehetőség arra hogy egy üzenetablak megjelenjen? Arra gondolok hogy mentéskor "Az eredeti mentése", majd a másolat mentésekor a "A másolat mentése" üzenő ablak felugrik (a státusz báron való megjelenés nem elég feltűnő), majd magától eltűnik.
Mindenki segítségét előre is köszönömLelkes, de már egy kicsit idős amatőr
-
Delila_1
veterán
válasz lacipapi #14545 üzenetére
Két szövegdobozt vettem fel. Az egyik szövege "Mentve", ennek az M nevet adtam. A másiké "Másolatként mentve", ez az Mm névre hallgat.
A makróban a két Loop While kezdetű sorban állítsd az időt a saját géped sebességéhez.
Sub Masolat()
Dim WB As Workbook, FN As String, kiterj As String, kezd As Long
Set WB = ActiveWorkbook
FN = WB.Name
kiterj = Right(FN, Len(FN) - Application.WorksheetFunction.Search(".", FN) + 1)
FN = Left(FN, Len(FN) - Len(kiterj))
ActiveSheet.Shapes("Mm").Visible = False
ActiveSheet.Shapes("M").Visible = False
Application.DisplayAlerts = False
If InStr(FN & kiterj, "masolat") Then
WB.Save
ActiveSheet.Shapes("M").Visible = True
Calculate
kezd = 1
Do
kezd = kezd + 1
Loop While kezd < 10 ^ 7
ActiveSheet.Shapes("M").Visible = False
Else
WB.SaveAs FN & "_masolat" & kiterj
ActiveSheet.Shapes("Mm").Visible = True
Calculate
Do
kezd = kezd + 1
Loop While kezd < 10 ^ 7
ActiveSheet.Shapes("Mm").Visible = False
End If
Application.DisplayAlerts = True
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
veterán
Új hozzászólás Aktív témák
Hirdetés
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap
- World of Warcraft (WoW) Díszdobozok
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - 2990 Ft-tól!
- Microsoft Office Home & Business 2024 PC/Mac EP2-06638
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest