-
Fototrend
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
-
szergejj
csendes tag
válasz föccer #51892 üzenetére
Nem tudom mi okozta ezt. De meguntam és nyitottam egy új excel táblát, majd minden lapot atmasoltam abba. Ezt követően a form-okat és a kódokat. Utána kiszedtem belőle a külső hivatkozásokat. És most működik bárhova tudom menteni és bárhol működik.
Úgyhogy végre újra nekiallhatok kódolni -
adDis
csendes tag
válasz föccer #52055 üzenetére
Köszi a tippet, de sajnos így sem jó nekem. Úgy képzeld el, hogy van A, B, C, D táblázat mondjuk egy munkalapon. B táblázat az A adataiból dolgozik, D a C-ből. Mivel sokat kell már görgetni vízszintesen, ha valamit meg akarok nézni (és szélesíteni, bővíteni is akarom még mindegyiket), a fejembe vettem, hogy megnézem, milyen lenne úgy, ha A, B, C és D táblázat is eleve külön-külön munkalapokon lenne. Most elsőként azt szeretném tehát kipróbálni, hogy a B-t hogy tudnám átrakni úgy egy másik munkalapra, hogy attól még az eredeti munkalapon levő A-ra mutassanak a hivatkozásai (aztán ha ez sikerül, ugyanezt kell eljátszanom majd a C-vel, D-vel). Sima control c/v-vel ugye most HIV! hibajelzéseket kapok a képletekben. Aztán az is lehet, hogy csak az az egy "gyors megoldás létezik", hogy a HIV! hibajelzéseket valahogy átírogatom a CSERE funkcióval - hogy mégse egyenként kelljen átírogatnom a hasonló képleteket használó oszlopokban - nem tudom...
[ Szerkesztve ]
-
föccer
nagyúr
válasz föccer #52070 üzenetére
No, ehhez tartozó érdekesség.
Mivel nem adok be a fájl nevénél elérési utat, így mindig a fájl mellé mentette a pdf-eket. Sokszor megcsináltam már, mindig hiba nélkül ment.
2 napja viszont nem rakja oda a fájlokat. INFÓ függvénnyel lekérdeztem, hogy mégis honnan gondolja, hogy meg lett nyitva a fájl és egészen más könyvtárt adott vissza és ott meg is találtam a lementett pdf-eket.
konkrétan 3 könyvtárszinttel fentebb, mint ahol ténylegesen az xlsm megnyitásra került. :-/
Ez hogy lehet? Illetve hogyan tudnám ezt kiküszöbölni? A cél, hogy mindig a fájl megnyitási könyvtárába legyen lementve a pdf, a megadott néven.
A fájl neve egy több darabból történő összefűzés eredménye és csak a tényleges fájl nevet tartalmazó string.
Építésztechnikus. Építőmérnök.
-
Fferi50
őstag
válasz föccer #52071 üzenetére
Szia!
Lehetséges, hogy másik könyvtárból indítottad a fájlt, nem abból ahol egyébként van. Így nem az adott munkafüzet könyvtára az "aktív" könyvtár. (pl. a fájlkezelőből lett indítva a munkafüzet...)
A tényleges könyvtárat a Curdir() függvény adja vissza.
Delila segített.
Vagy Chdir(ActiveWorkbook.Path) és akkor nem kell az utvonal nevű változó
Üdv.[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz föccer #52074 üzenetére
Egy régebbi makró:
Sub Mappa_Valasztas()
Dim FD, utvonal As String
MsgBox "Válasszunk magunknak útvonalat"
Set FD = Application.FileDialog(4) 'mappa választás
With FD
.AllowMultiSelect = False
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Nem választottál útvonalat, befejezzük.", vbInformation, "Értesítés" Exit Sub
Else
utvonal = .SelectedItems(1)
End If
End With
MsgBox "A kiválasztott mappa: " & utvonal utvonal = utvonal & "\" 'jöhet a mentés, vagy megnyitás
End Sub
Nem jó amit Fferi, vagy én írtunk?
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
őstag
válasz föccer #52074 üzenetére
Szia!
A hálózati elérésnél használja a "/" karaktereket, helyinél a "\'" járja.
Az onedrive egyébként szivat, igen, mert ráadásul még helyben is menti.
Szerintem a Chdir(...) jó lehet.milyen dialoggal tudok csak egy könyvtár útvonalat beszedni?
Így :Sub konyvtarvalaszt()
Dim konyvtar As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then
konyvtar = .SelectedItems(1)
MsgBox konyvtar
Else
MsgBox "Nem választottál"
End If
End With
End Sub
Utána érdemes megnézni az aktív könytárat - nálam mindig az eggyel feljebbi lett az aktív könyvtár.
Üdv.[ Szerkesztve ]
-
Fferi50
őstag
-
Fferi50
őstag
válasz föccer #52261 üzenetére
Szia!
"kódjába beraktam így, de futtatta."
Most akkor futtatta vagy nem?
Egyébként ha a Listbox jobb egérgomb View Code-ra kattintasz, majd a jobb oldali lenyílóból kiválasztod a DblClick eseményt, ezt kapod:Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
End Sub
Itt találhatsz rá egy kis helpet.
Itt pedig némi példát.Üdv.
[ Szerkesztve ]
-
föccer
nagyúr
válasz föccer #52285 üzenetére
Private Sub Workbook_Open()
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer
Dim Fileok_szama As Integer
Dim Fnev As String
Dim Kell_e_menteni As Boolean
Dim SFnev As String
i = 0
Filok_szama = 0
Fnev = ""
Kell_e_menteni = True
SFnev = ""
Sheets("Save_log").Range("T:U").ClearContents
Set oFSO = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
If Sheets("Save_log").Range("B7").Value <> "" Then
Set oFolder = oFSO.GetFolder(Sheets("Save_log").Range("B7").Value)
Else
Set oFolder = oFSO.GetFolder(Sheets("Save_log").Range("B8").Value)
End If
If Err = 0 Then
For Each oFile In oFolder.Files
If oFile.Name = Sheets("Save_log").Range("B5").Value Then
Kell_e_menteni = False
End If
Sheets("Save_log").Cells(i + 1, 20) = oFile.Name
Sheets("Save_log").Cells(i + 1, 21).Formula = "=IFERROR(MATCH(T" & i + 1 & ",M:M,0),0)"
i = i + 1
Next oFile
Filok_szama = i
For i = 1 To Filok_szama
If Sheets("Save_log").Cells(i, 21).Value = 0 Then
Fnev = oFolder & "\" & Sheets("Save_log").Cells(i, 20).Value
Kill Fnev
End If
Next
If Kell_e_menteni = True Then
SFnev = Sheets("Save_log").Range("B7").Value & Sheets("Save_log").Range("B5").Value
ActiveWorkbook.SaveAs Filename:=SFnev
End If
Else
If Sheets("Save_log").Range("B7").Value <> "" Then
MkDir Sheets("Save_log").Range("B7").Value
Else
MsgBox "Nem találom a biztonsági mentés helyét. Kérlek add meg a biztonsági mentés helyét."
Call XBUP_mentesi_hely_Valasztas
MkDir Sheets("Save_log").Range("B7").Value
End If
End If
On Error GoTo 0
End Sub
Építésztechnikus. Építőmérnök.
-
föccer
nagyúr
válasz föccer #52285 üzenetére
Hm, asszem gordiuszi csomóként a hibakezelésben visszaíratom az elérési utat a helyére és a hibakezelésbe beraktam +-ba a napi mentés is. Így mindenképpen jó lesz.
Vagy a hiba nélküli ágon fut végig, vagy a hibakezelés ágán, miután a hibakezelés beerőszakolt valami elérési utat a B7 cellába.
Köszönöm, hogy végig gondolhattam így félhangosan
Építésztechnikus. Építőmérnök.
-
Fferi50
őstag
válasz föccer #52291 üzenetére
Szia!
Az egyes tartományokhoz rendelhetsz felhasználókat, akik jelszóval / vagy anélkül tudják módosítani a tartalmat - lapvédelem persze itt is kell az érvényesüléséhez (Tartományszerkesztés engedélyezése menüpont).
Makróból úgy tudod a lapvédelmet "megkerülni", azaz feloldás nélkül módosítani, ha a védelem bekapcsolásakor a UserInterfaceOnly paramétert True értékkel adod meg:Sheets("akarmi").Protect Password:="PW", UserInterfaceOnly:=True
Amire figyelned kell: amint a fájlt bezárod, ez a paraméter elveszti a hatását, ismételt megnyitáskor már nem érvényesül. Így minden megnyitáskor ki kell adni a lapvédelmi parancsot a fenti módon.
A zárolt tartalmakat makróból tudod módosítani, de a felhasználók nem.
Üdv. -
detroitrw
addikt
válasz föccer #52348 üzenetére
Köszi, de ez is csak az oszlopnak a számát adja meg, viszont nekem a betű értéke kell
de megoldottam máshogy:
=CÍM(FKERES(I1;L:M;2;IGAZ);HOL.VAN(H1;'Ablak'!1:1);2)
-> BM$186
innen meg:=BAL(K4;SZÖVEG.KERES("$";K4)-1)
-> BMAmivel most sikerült 2 órát kidobni az az hogy a gépen lévő excel és a google drive -os excel más eredményre jut ezzel a paranccsal:
=HOL.VAN(H1;'Ablak'!1:1)
gépes excel: 65
google drive excel: 11 -
Delila_1
Topikgazda
válasz föccer #52428 üzenetére
Az A oszlopban vannak értékek, a B oszlopot formáztam, 2019-es verzió.
Talán túl friss az Exceled.Sub Makró1()
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$A1<20"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
BigBadPlaYeR
senior tag
-
Fferi50
őstag
válasz föccer #52488 üzenetére
Szia!
Egy lehetőség azEltolás (Offset)
függvény használata. Azt kell figyelembe venni, hogy az elnevezett tartomány első oszlopa a függvényben a 0. oszlop, így a második oszlop:=Eltolás(Név;0;1;;1)
A paraméterek:
1. paraméter: Ahonnan az eltolást számítjuk - itt az egész nevesített tartomány
2. paraméter: A sorok száma, amennyivel el kell tolni a tartományt - mivel maradunk a tartománynál, itt ez az érték 0
3. paraméter: Az oszlopok száma, amennyivel el kell tolni a tartományt - mivel a második oszlop az elsőtől 1 távolságra van ezért az érték értelemszerűen 1 (az első oszlop esetén 0)
Ez a 3 paraméter kötelező. A következő kettő opcionális:
4. paraméter: Az eltolás eredményeként létrejövő tartomány sorainak a száma. Ha nem adunk meg értéket - azaz kihagyjuk - akkor az eredeti tartomány sorainak száma marad. Ezért hagyjuk ki, mert nekünk minden sor szükséges.
5. paraméter: Az eltolás eredményeként létrejövő tartomány oszlopainak száma. Mivel egy oszlopot szeretnénk eredményként kapni, ez a paraméter 1
Így kaphatod meg a többi oszlopot is a megfelelő paramétereket használva. Így nem kell tudnod a nevesített tartomány címét.
Másik lehetőség: A tartományt nevesítés helyett Táblázattá alakítod (Beszúrás - táblázat )
Ez alapján a táblázat egyszerűsített hivatkozásait használhatod.
[link] Itt találod hozzá a súgót.
Üdv.
Új hozzászólás Aktív témák
- E-roller topik
- Suzuki topik
- Vigneau interaktív lokálblogja
- Apple iPhone 15 Pro Max - Attack on Titan
- Apple notebookok
- Autós topik
- Sony Xperia 1 V - kizárólag igényeseknek
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- VR topik (Oculus Rift, stb.)
- Samsung Galaxy A54 - türelemjáték
- További aktív témák...
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Canva Pro előfizetés - 1 éves
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen