- Luck Dragon: Asszociációs játék. :)
- Lalikiraly: Astra kalandok @Harmadik rész
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Magga: PLEX: multimédia az egész lakásban
- weiss: Pant* rant
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
- btz: Internet fejlesztés országosan!
- Brogyi: CTEK akkumulátor töltő és másolatai
- sziku69: Fűzzük össze a szavakat :)
-
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
-
Mutt
senior tag
Szia,
Ahogy olvasom 2013-ban már addin-ként meg volt, csak aktiválni kell. Fájl menű Beállítások->Bővítmények ablakbal a Kezelésnél a COM-bővítményeknél engedélyezd a Power Map-et. Ezek után ha jól emlékszem, akkor lesz egy új Power menűcsoport és azon belül találod meg.
Vmi ilyen eredményt kapsz (a mintában irányítószám, város, állam/megye, utca adatok vannak, nincs GPS).
Nem Excel, de kezeli az Excel adatokat és manapság kedvelt a Power BI. A Desktop változata ingyenes, az online ára sem vészes.
Ebben pedig vmi ilyen eredményt kapsz.üdv
-
sztanozs
veterán
Ha garantált a felhasználónevek egyedisége, akkor lehet azzal is játszani. Látrehozol mindenkinek egy sheet-et, ahol a sheet neve a felhasználónév, és beállítod az alábbi makrót a ThisWorkbook alá:
Private Sub Workbook_Open()
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim WSHnet As Object, ws As Worksheet, UserID As String
Set WSHnet = CreateObject("WScript.Network")
UserID = WSHnet.UserName
Set WSHnet = Nothing
For Each ws In Worksheets
If ws.Name = "Unauthorized" Then
ws.Visible = xlSheetVisible
ElseIf ws.Name = UserName Then
ws.Visible = xlSheetVisible
Worksheets("Unauthorized").Visible = xlSheetVeryHidden
Else
ws.Visible = xlSheetVeryHidden
End If
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Workbook_Open
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
For Each ws In Worksheets
If ws.Name = "Unauthorized" Then
ws.Visible = xlSheetVisible
Else
ws.Visible = xlSheetVeryHidden
End If
Next
End Sub -
-
-
lappy
őstag
Szia
Delila1 szerint itt van egy minta
a munka1 lapon jobb klikk- kód megjelenítése- majd a kapott kódot ahogy a képen látod (másolod, módosítod) a Munka2, Munka3 - saját munkalapod nevei és a jelszavakat is megadod és így tovább
illetve a ThisWorkbokk is beilleszted a makrót
makróbarát munkafüzetbe legyen mentve
Minta -
Fferi50
Topikgazda
Szia!
Jelszó nélkül megoldható a következő módon:
Fejlesztőeszközök - Visual Basic
(Ha nem találod a Fejlesztőeszközök menüpontot, akkor a Fájl - Beállítások - Menüszalag testreszabása pontban be kell pipálni a Fejlesztőeszközök előtti téglalapot.)
Ezután F4 - billentyűvel előjön a Properties ablak:
A lenyílóban kiválasztod az elrejteni kívánt munkalapot, majd a Visible tulajdonságot átállítod 2 - xlSheetVeryHiddenre.
Ezután becsukod a Visual Basic ablakot.
Szerintem az nem probléma, hogy nem lehet jelszót beállítani, mert a lap füle ezek után már nem látszik sehol. Így csak te tudod visszaállítani ugyanilyen módon - a Visible tulajdonságot -1 - xlSheetVisible -re.
Üdv. -
Delila_1
veterán
A mindig látható munkalaphoz kell rendelned a makrót.
Nálam ezen a lapon a C2 cellába kell beírni a jelszót (itt EzAJelszó, de írd át kedved szerint a makróban) ahhoz, hogy a Munka2 lap látható legyen. A Munka2 nevét is átírhatod a makróban.Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" Then
If Target = "EzAJelszó" Then Sheets("Munka2").Visible = -1 Else Sheets("Munka2").Visible = 2
End If
End Sub
Érdemes a ThisWorkbokk laphoz rendelni egy másik makrót, ami a füzet bezárásakor törli a Munka1 lap C2 cellájának a tartalmát.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Munka1").Range("C2") = ""
End Sub
-
-
Delila_1
veterán
Ha A1-ben van a szóközt tartalmazó számod, ezzel a képlettel az új oszlopban számot kapsz, amit majd értékként az eredeti helyére másolhatsz.
Egyszerre is számmá alakíthatod mindet, és még segédoszlop sem kell.
Beírsz egy üres cellába egy egyest, másolod Ctrl+c-vel, kijelölöd a szóközös tartományt, majd irányított beillesztés, ahol bejelölöd a szorzást. -
ny.janos
tag
1. A listatartományodnak adsz egy nevet, a korlátozott adattartalmú cellákra pedig az adatok - érvényesítés pontot választod. A megengedve pontban listát válassz, a forrásba pedig egyenlőségjel után a listatartományod nevét írd be.
2. Szerintem alapfunkcióval azt nem tudod megoldani, hogy a formázást nem lehet változtatni, de magát az értéket igen. Ha a formátumot levéded, akkor az adat sem írható felül. Ha esetleg más módon (pl. makró) megoldható, akkor a nálam profibbak majd válaszolnak. -
azopi74
addikt
Rengeteg oka lehet, hogy nem működik egy ilyen. Van rengeteg olyan funkció, ami soha nem is fog működni, ha nincs nyitva a forrásfile (pl egy sima SZUMHA). De sok más probléma is lehet (verzió, jogosultság, egyéb beállítások, nem érdemes nyomozgatni) Ezért általánosan elmondható, hogy kerülendő ennek az ilyen módon való használata, mert vagy működik, vagy nem , ezt sokkal biztosabban és egyszerűbben meg lehet oldani: húzd be a cél munkafüzetbe a forrás munkafüzetek megfelelő lapjait (vagy csak a téged érdeklő oszlopokat) (Adat, külső adatok átvétele) Beállíthatod, hogy autonatikusan frissüljön megnyitáskor (de manuálisan is ráfrissíthetsz, vagy akár percenkénti frissíttést is beállíthatsz) Így már az Excel összes funkciója és függvénye működni fog, minden esetben.
-
Delila_1
veterán
Végre elárultad a nagy titkot!
...de miért kellett erre többször külön rákérdezni?!
Figyelj! Nem xlx, hanem xls a kiterjesztés.
A mentés sora
ActiveWorkbook.SaveAs Filename:=utvonal & sor & ".xlsx"
helyett
ActiveWorkbook.SaveAs Filename:=utvonal & "0" & Cells(sor, "A") & ".xls" -
Delila_1
veterán
A felső két sor másolásához a
WSE.Rows(1).Copy WSM.Range("A1") helyett írj WSE.Rows("1:2").Copy WSM.Range("A1")-t.
A WSE.Rows(sor).Copy WSM.Range("A2") helyett pedig WSE.Rows(sor).Copy WSM.Range("A3") legyen.Az ActiveWorkbook.SaveAs Filename:=utvonal & sor & ".xlsx" sor végéről töröld az x-et.
Titok, hogy melyik oszlopból akarod venni a fájlok címét? Ha igen, akkor találd ki a mentés módját, nem tudok segíteni nélküle.
-
Delila_1
veterán
A lenti makróval megoldható.
A Const utvonal = "C:\Temp\" sort írd át a saját mentési útvonaladra.A makrót arról a lapról kell indítanod, ahol a másolandó sorok vannak. Az utvonal változóba beírt mappába menti a fájlokat, mindegyiket azon a néven, ahányadik sorban megtalálta az adatokat.
Gondolom, fejléc is van a lapodon, ezért minden új füzet első sora a fejléc lesz, második pedig a kiválasztott adatsor. Addig fut a makró, míg az A oszlopban talál adatot.Sub UjFuzetek()
Dim sor As Long, WB As Workbook, WSE As Worksheet, WSM As Worksheet
Const utvonal = "C:\Temp\"
Application.ScreenUpdating = False
Set WB = Workbooks(ActiveWorkbook.Name)
Set WSE = WB.Sheets("Munka1")
sor = 2
Do While Cells(sor, "A") <> ""
Workbooks.Add
Set WSM = ActiveWorkbook.Sheets("Munka1")
WSE.Rows(1).Copy WSM.Range("A1")
WSE.Rows(sor).Copy WSM.Range("A2")
ActiveWorkbook.SaveAs Filename:=utvonal & sor & ".xlsx"
ActiveWorkbook.Close
sor = sor + 1
Loop
Application.ScreenUpdating = True
MsgBox "Kész van a soronkénti mentés", vbOKOnly + vbInformation
End Sub -
sztanozs
veterán
Naptár az szerintem nincs, legfeljebb naptár kontroll - amit kitehetsz formra, vagy a munkalapra VBA-val, szükség esetén.De találtam valamit neked (ez valami beépülő modul):
Displaying Calendar Automatically
By default Pop-up Excel Calendar displays an in-cell icon button when you click a date cell. You need to click the in-cell icon button to open the calendar on which you click to select the date value.The "Display calendar automatically" option on the Settings window saves one click by displaying the calendar automatically. If you check this option, the calendar is displayed automatically along with the in-cell icon button whenever you click a date cell.
-
lappy
őstag
Sub WriteXls()
Dim firstrow As Integer, rownum As Integer, colnum As Integer
Dim filename As String
Dim Filelocation As String
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
Filelocation = "C:\SAJÁT\"
With ws
rownum = 3
While .Cells(rownum, 1) <> ""
filename = .Cells(rownum, 1).Value
Open (Filelocation & filename & ".xls") For Output As #1
colnum = 2
While .Cells(rownum, colnum) <> 0
Print #1, ws.Cells(rownum, colnum) & " ";
colnum = colnum + 1
Wend
Close #1
rownum = rownum + 1
Wend
End With
End Sub
Szúrj az első sorba egy nevet, mert úgy menti majd el!
pl.: A1:text1===>text1.xls -
"Darabteli vagy sima Sum fügvénnyel érdemesebb megoldani? Mi a fő különbség?"
Ilyen infókhoz használd az Excel súgóját, vagy Google-t, mert alapinformációk.
SZUM vs. DARABTELI"Ha egy excelben egy fülön megcsináltam minden (képletek benn) akkor hogyan tudom azt másik 12 fülre másolni, hogy a hivatkozások is megfelelően változzanak?"
Átmásolod a képletet a másik munkalapokra majd az adott munkalapon CTRL+H (csere) és a Munkafüzet1-et lecseréled Munkafüzet2-re"Állítólag csak a excel 2007-ben lehet megoldani, hogy csukott excelekből is nyerjen adatokat, régebbi verziónál csak 255 karakterig megy ez?"
Erről nem tudok, majd ha benéz Delila_1, Ő talán tud rá mit mondani, mert Ő még használ 2003-at. (ha nem tévedek)Ez a "255-ig megy ez" nem teljesen világos... (Ha Windows rendszerben a maximális karakterek száma a fájlnévben-re gondolsz, az nem Office függő)
-
-
1. Először is minden munkafüzet legyen abban a könyvtárban, ahol használni szeretnéd (ne utólag kerüljön át másik mappába)
2. Nyisd meg/hozd létre azt a munkafüzetet, amiben a másik 3 munkafüzet adatait szeretnéd egyesíteni
3. Nyisd meg a 3 munkafüzetet is
4. Hozd létre a szükséges, működő képleteket és zárd be a 3 munkafüzetetMegfigyelheted, hogy amíg a 3 munkafüzet meg volt nyitva, addig az Excel a képletekben csak a munkafüzet neveit jelölte, az útvonalukat nem. Viszont ha bezárod a 3 munkafüzetet, akkor az Excel automatikusan kibővíti a képletekben az útvonallal is.
Így mentsd el az összesítő munkafüzetet.
-
-
-
"Azt kellene megoldani, hogy a három másolat adatait egybe, összeadva rakni, ugyanolyan struktúrába, ugyanúgy mindegyik fülön megjelenjenek."
Mármint egy 4. munkafüzetbe? (pl van munkafüzet1.xls/munkafüzet2.xls/munkafüzet3.xls és egy pl munkafüzet4.xls-ben összesítse az adatokat?) -
Ráállsz a cellára, ami legördülőként üzemel és újra az érvényesítést választod és ott lesz a tartomány.
Ilyen esetekben érdemesebb lehet a tartománynak nevet adni és az érvényesítésnél tartománynevet megadni a tartománynak. Ennek az az előnye, hogy a tartományneveket nyilvántartja az Excel, ki lehet listázni és módosítani is lehet rajta, ezáltal minden objektum, ami az adott tartománynevet használja tartományként, annak automatikusan megváltozik a tartománya. (De sok tartomány van ebben a mondatban)
Gyakorlatban, miről is írtam:
1. Tartomány elnevezése
2. Érvényesítés->tartomány a tartománynév
3. Névkezelő (képletek fül/Definiált nevek csoport/Névkezelő)
4. Az 1. pontban létrehozott tartománynév tartományának módosítása -
-
-
-
Delila_1
veterán
Régebbi hozzászólásokból tallóztam össze.
Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Sub PlayWAV()
utvonal = "E:\Utvonal\" 'Itt módosíts
WAVFile = utvonal & "\" & "Fáljnév.wav" 'meg itt is
Call PlaySound(WAVFile, 0&, SND_SYNC Or SND_FILENAME)
End SubA most PlayWAV rutin sorait eseményvezéreltként vidd be.
Új hozzászólás Aktív témák
- Vékonyabb lett, jobb kamerát kapott, de az akku maradt a régi: itt a Fold7
- Kerékpárosok, bringások ide!
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- PlayStation 5
- Otthoni időjárás-állomás
- Diablo IV
- Azonnali informatikai kérdések órája
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Mibe tegyem a megtakarításaimat?
- További aktív témák...
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Több mint 70.000 eladott szoftverlicenc
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Assassin's Creed Shadows Collector's Edition PC
- Realme C30 32GB, Kártyafüggetlen 1Év Garanciával
- LG 39GS95UE - 39" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- Fókusz, tér, élmény Dell U2913WM Ultrawide monitor
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Lenovo Thinkpad L14 Gen 4 -14"FHD IPS - i5-1335U - 8GB - 256GB - Win11 - 2 év garancia - MAGYAR
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest