- DIGI kábel TV
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Linux kezdőknek
- NVIDIA: a következő nagy dolog az AI-generálta videó
- Synology NAS
- Jó dolog az AI, de emberek nélkül nincs játékfejlesztés
- Amazon Prime Video
- Sweet.tv - internetes TV
- Netflix
- Már nem hisz a nagy európai EV-forradalomban a Ford
-
IT café
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
-
sztanozs
veterán
válasz lenkei83 #29633 üzenetére
Akkor Makró -> Jet és SQL lekérdezéssel megoldani - vagy beimportálod/belinkeled access-be és ott összedobsz egy query-t.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Fferi50
őstag
-
Fferi50
őstag
válasz lenkei83 #31585 üzenetére
Hali!
Ismerős néhány elnevezés a kódodban
A kívánt eredményhez a következőképpen juthatsz el:
If ujfka.Row > 4 Then
If Not IsEmpty(ujfka.Cells(2)) Then
set ujfka = Intersect(ujfka, ujfka.Offset(0, 1))
Print #xx, Replace(Join(Application.Transpose(Application.Transpose(ujfka.Value)), ";"), ",", ".")
End If
End IfA 001 exportálásban lemaradt a rows a usedrange mögül és én pont ezt a makrót kezdtem el nézni...
Szerintem nem kell 3 makró hozzá, elég egy, amit paraméterezetten hívsz meg.
Üdv.
-
Fferi50
őstag
válasz lenkei83 #31642 üzenetére
Szia!
Ha az eseménykezelő első (vagy valamelyik) sorába beírod a STOP utasítást, akkor ott megáll a program - viszont DEBUG módban nem hajtódik végre a ribbonra vonatkozó utasítás, helyette hibaüzeneteket kapsz, amíg végig nem fut a ribbonos rész.
Szerintem az lehet a probléma, hogy nyitáskor még nincs betöltve a RIBBON, ezért nem tudja végrehajtani a műveletet, később viszont már megvan a megfelelő objektum hozzá.A saját ribbont be kell tölteni egy általános modulba helyezett makróval, pl.
Sub RibbonOnLoad(ribbon As IRibbonUI)
Set rib = ribbon
End SubÜdv.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz lenkei83 #31762 üzenetére
A Private Sub Worksheet_Activate() makró első sora legyen
ActiveSheet.Protect Password:="BolondBiztosJelszo", UserInterfaceOnly:=True
Ez a sor a makró számára feloldja a védelmet, de billentyűzetről továbbra is zároltak maradnak a zárolt cellák.
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
válasz lenkei83 #31766 üzenetére
A felső makróban az összes lapot felszabadítod, majd 2 lapnál beállítod az autoszűrőt, és ismét minden lapot levédesz. Elég lenne egyenként a 2 laphoz beállítani a makróból módosítást, és végrehajtani a szűrő beállítását.
A 2. makró első sora is legyen
ActiveSheet.Protect UserInterfaceOnly:=True
.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
válasz lenkei83 #32019 üzenetére
El lehet rejteni az egész füzetet a Nézet | Ablak | Elrejtés menüponttal. Pl. a personal.xlsb is rejtetten nyílik meg (ha van) az Excel megnyitásakor.
Olyankor érdemes alkalmazni, mikor a felhasználó számára nem akarjuk elérhetővé tenni azt a füzetet, aminek az adataiból a látható füzet dolgozik. Éppen most írtam egy ilyen makrót, ami a füzet megnyitásakor behívja, és eleve elrejti a rengeteg adatot tartalmazó füzetet.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mittu88
senior tag
válasz lenkei83 #32126 üzenetére
Na igen, de valamiért nem teszi be az oldaltörést.
Arra a kódra, hogy
Thisworkbook.Worksheets("mlapnév").HpageBreak.Add "Adott cella"
nem csinál semmit, a
Thisworkbook.worksheets("mlapnév").HpageBreak(1).Location "Adott cella"
meg Subscrypt out of range hibára fut.Hogy tudok oldaltörést beszúrni egy adott sor fölé, hogy ne dobjon hibaüzenetet?
[ Szerkesztve ]
-
Fferi50
őstag
válasz lenkei83 #32873 üzenetére
Szia!
Szerintem ennek működni kellene, viszont mivel a Thisworkbook kódlapja nem általános modul, hanem osztálymodulnak számít, a változót csak úgy tudod elérni, ha a teljes nevével hivatkozol rá, azaz Thisworkbook.valid_cell_range. Ebben a formában már látja minden modul - és a vba segítőben is látod.
Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz lenkei83 #32877 üzenetére
Szia!
Ha mindkétszer a Thisworkbook előtag nélkül próbálod, akkor egyik sem működhet. Illetve, ha az eseménykezelőben megállsz, akkor nem kell az előtag, akkor sem kell, ha éppen a Thisworkbook kódlapon levő másik eljárásban vagy függvényben használod.
Üdv.
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz lenkei83 #32993 üzenetére
Azt nem mondtad, hogy nem userformon, hanem egy lapon van a combobox.
Az Alapadatok lapon a C4:C11 tartományt érdemes táblázattá alakítani. A C5:C11-et kijelölve megadtam a Teszt nevet (előtte töröltem a régit). Az ofszetes tartományod nem volt jó, C5-től C12-ig tartott. Persze nem nagy baj, ha pluszban van egy üres sor.
A Combobox lapon beállítod a Tervező módot, a vezérlődre állva megjeleníted a Tulajdonságokat. Itt a ListFillRange opcióhoz beírod: Teszt
Szerk.: azért elég a Teszt szót beírni, mert a tartomány hatóköre az egész munkafüzetre vonatkozik.
[ 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.
-
Delila_1
Topikgazda
válasz lenkei83 #32996 üzenetére
Mivel táblázattá alakítod a tartományt, rugalmas lesz a Teszt. Próbáld ki! Írj hozzá, vagy a táblázat méretét csökkentsd a kis kék sarok felhúzásával.
Bocs, tényleg írtad, hogy munkalapra tetted.
[ 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.
-
Delila_1
Topikgazda
válasz lenkei83 #32996 üzenetére
Tényleg nem veszi be combobox esetén a plusz adatot, de ki lehet javítani. Az Alapadatok laphoz rendeltem egy eseménykezelést.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then Sheets("Combobox").ComboBox1.ListFillRange = "Teszt"
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.
-
-
Pakliman
tag
válasz lenkei83 #33026 üzenetére
Szia!
Csak egy pillantást tudtam vetni rá, de szerintem a hiba
For Output As #xx
lesz.
Ez esetben olvasni nem tudsz a fájlból.Egy lehetőség a sok közül:
For Each mezokod In mezokod_tartomany_1
If mezokod <> "" And mezokod.Offset(0, -6) <> "" Then
Print #xx, mezokod.Value & "=" & mezokod.Offset(0, -6).Value
End If
Next mezokod
Close #xx 'ÚJ SOR!!
Dim LineofText As String
Dim rw As Long
rw = 0
xx = FreeFile() 'ÚJ SOR!!
Open ThisWorkbook.Path & "\" & "1665" & "_" & ido & ".imp" For Input As #xx 'ÚJ SOR!!
Do While Not EOF(xx)
Line Input #xx, LineofText
rw = rw + 1
Loop
MsgBox rw
Close #xxAz 'ÚJ SOR!! részeket kell beírnod a kódba.
Figyelj! Az Open-nél Input van!Remélem műxik majd
[ Szerkesztve ]
-
Pakliman
tag
válasz lenkei83 #33032 üzenetére
Szia!
Ha nem akarsz csiki-csukit, akkor az rw változót a proc elején deklaráld és minden
Print #xx,
sor után írd be ezt:rw=rw+1
.
A végén az rw értéke a fájl sorainak a száma lesz (feltéve, hogy a fájlba kiírt szövegek nem tartalmaznak sortörést okozó karaktert).Vagy egy másik lehetőség, hogy az
Open ...
esetében a Random-t használod az Output helyett.[ Szerkesztve ]
-
Delila_1
Topikgazda
-
nesh20
aktív tag
-
asphalt
csendes tag
válasz lenkei83 #33081 üzenetére
Ez így működik is csak, ha a képlettel kapott adatokra máshol van szükség akkor vagyok bajban.
[link]Mondjuk most, hogy így gondolkodok lehet egy
=
és kijelölöm a szükséges cellákat megoldaná a problémámat.
Ha lenne esetleg megoldás arra hogy lehet a rögzítést alkalmazni egy már kész oszlopra(vagy sor, stb.) akkor azt továbbra is várom. Illetve egy képleten belül minden cellára, hogy ne kelljen végig menni egyesével. pl
=($B$2*$C$2*$D$2*$E$2) vagy hosszabbaknál, ahol bonyolultabb a képlet esetleg a más munkalapon található cellanevek miatt kevésbé átlátható.
Köszönöm a segítséget! -előre is[ Szerkesztve ]
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Alpha Laptopszerviz Kft.
Város: Pécs