Az „Excel” fórum célja, hogy keretet adjon az Excel felhasználók széles táborának tapasztalataik megosztására, és lehetőséget a segítséget kérőknek. Az alábbi összefoglaló azért készült, hogy segítse a helyes kérdésfeltevést.
– Írd le szabatosan a problémát. Úgy fogalmazz, hogy ne csak te magad, de a szakértő is megértse, mire szeretnél választ kapni.
– Írd le, hogy milyen verziójú Excellel dolgozol. (Vagy ha nem – ill. nem csak – Excel, akkor micsoda?)
– Írd le, hogy milyen úton indultál el, és hol akadtál el rajta.
– A kérdés megértése szempontjából sokat segíthet, ha feltölteszt egy képet, amin látszik, hogy mit szeretnél, vagy illusztrálja azt.
– Még jobb, ha feltöltesz egy minta munkafüzetet valahová (pl. data.hu). Feltöltés előtt távolítsd el belőle a nem publikus adatokat.
– Ha a feladat jellege olyan, célszerű az "előtte" és "utána" állapotokat bemutatni. (Miből kellene csinálni mit?)
– Ha VBA kódon kell javítani, másold be a releváns kódrészt. Rövid kód mehet hozzászólásba, hosszú kód inkább ide: http://pastebin.com/
– Ha valami nem úgy működik, ahogy kellene, add meg a rendellenes viselkedés jellemzőit, a hibaüzenetet, és a hibát okozó programsort.
Sub Összegez() Dim i As Integer, Sor As Long, Keplet As String Sor = 6 '6. sor Keplet = "=" For i = 3 To 88 Step 2 '"C" oszloptól "CJ"-ig minden második Keplet = Keplet & "RC[" & i - 89 & "]" & "+" Next i Keplet = Left(Keplet, Len(Keplet) - 1) ActiveSheet.Cells(Sor, 89).FormulaR1C1 = Keplet End Sub
Köszönöm, ez valóban működik ha tudom, hogy hol van a összegző cella, de amint írtam, ez változik... Az alábbival próbálkoztam, de a KPSzám = 30 után kiakad.
A KPSzám határozza meg, hogy mennyi értéket kell összeadni.
Function Szummázó(KPSzám As Byte) As Variant Dim TmpS1 As Variant, TmpS2 As Variant
TmpS1 = "=SUM(" TmpS2 = "RC[-"
For i = 1 To KPSzám If i Mod 2 = 0 Then If i <> KPSzám Then TmpS1 = TmpS1 & TmpS2 & i & "]," Else: TmpS1 = TmpS1 & TmpS2 & i & "])" End If End If Next i
Köszönöm! Elnézést, az előbb elfelejtettem, hogy az összegzö cella nem állandóan egy adott helyen van, valamint azt, hogy a makróból "csak" az összegző cella formátumát szeretném beállítani, vagyis azt, hogy összegezze az előtte lévő cellák értékét, amelyet a makró futása után töltök fel értékekkel (a makróval előkészítem az adatösszegzést).
Tudom, hogy alapból el van rejtve.. De nem látszik sehol sem. Tuti, hogy nem nyílik meg.
A makrók sem látszanak (SŐT!), ha hozzárandelek egy új eszköztárgombhoz egy personalban lévő makrót, akkor nem futtatja le az ikon. Az új eszköztárgomb első rákattintásakor megadhatod, hogy mely makrót rendelje hozzá. Most forcsa módon MINDEN kattintásra azt akarja, hogy adjam meg a hozzárendelni kívánt makrót. És még ott van az a dolog is, hogy csak "erőltetve" tudom előhozni/megnyitni a personalt. Nem nyílik meg semmi, amit az XLSTART mappába pakolok. :( Eddig működött a dolog.
Sub Összegez() Dim i As Integer, Sor As Long, sum As Double Sor = 6 '6. sor sum = 0 For i = 3 To 88 Step 2 '"C" oszloptól "CJ"-ig minden második sum = sum + ActiveSheet.Cells(Sor, i) Next i ActiveSheet.Cells(Sor, 89) = sum '"CK" oszlopba az eredmények End Sub
Segítséget szeretnék kérni makróból történő összegzéssel kapcsolatban. A "C6" cellától kezdve a "CI6"-ig, vagyis minden második oszlop értékét (C6;E6;G6;I6;K6;...) szeretném összegezni a "CK6" cellába, ami valamiért nem megy. Tudna valaki segítni?
A personal.xls láthatatlan munkafüzet. Úgy értem, ha megnyitod, akkor sem látszik, szemben a normál munkafüzettel. Viszont a VB editorban, a project explorer ablakban látható, hogy meg van nyitva. Nincs ott véletlenül?
A "C:Documents and SettingsfelhasználónévApplication DataMicrosoftExcelXLSTART" mappába van betéve (ugyebár oda generálódik). Próbáltam a "C:Program FilesMicrosoft OfficeOffice11" mappában is buherkodni, hátha onnan megnyílik.., de nem.. :(
Én úgy tudom, hogy az Excel beállításainál nem adható meg, h mi töltődjön be az Excel-lel egyidőben... csak a fent említett mappa tartalma töltődik be, nem??
kepet be tudsz hivni excelbol hiperhivatkozassal. Ha ezt tovabbkuldod vkinek hasznalatra, akkor az excelfile-t es a hivatkozott kepeket tedd egy konyvtarba es azt zip-ben kuldd el.
Ismétlem, a probléma megoldásához több kell, mint a kimenet ismerete. Szükség van a bemenetre is. Milyen adatbázis, hogyan lehet elérni, mi a szerkezete, mik azok a táblák és mezők, amelyek az egyes termékekhez tartozó értékeket tartalmazzák, satöbbi. Enélkül hiába küldöd nekem el az árajánlatot, nem tudok vele mit kezdeni. Amúgy a fórumos email címem működik.
Ha Access-ben egyszerűbb akkor legyen abban. A lényeg, hogy a képeket is automatikusan betegye az árajánlatba. Ha van időd és kedved küldök egy árajánlatot ami wordben készült, ilyet kellene alkotni. Csak adj olyan mail címet amit nézel is :D
"Meg lehetne oldani, hogy ha beírom a cikkszámot akkor egy meglévő adatbázisból behívja a szükséges adatokat és a képet a progi? "
Ha már egyszer adatbázis, akkor inkább Access lenne a megfelelő alkalmazás erre. Valószínűleg Excelben is megy, csak kicsit körülményesebb. Mindazonáltal, véleményem szerint, ez egy olyan probléma, amelynek a megoldása meglehetős belelátást igényel a programozó részéről. Példának okáért hozzáférést az adatbázishoz. Enélkül csak általánosságban lehet mondani bármit is.
Általánosságban, első közelítésben, így nézne ki a megoldásom:
- ADODB kapcsolat az adatbázishoz - kitüntetett cella változásának figyelése - a cella értékének validálása - az érvényes érték alapján az adatbázis lekérdezése - a visszatérő értékek megjelenítése az árajánlat alapjául szolgáló sablon munkalapon
Cégnél sok árajánlatot kell írni, sok termékkel és mindnek, név, leírás, ár, darabszám cikkszám és kép ami lényeges. Meg lehetne oldani, hogy ha beírom a cikkszámot akkor egy meglévő adatbázisból behívja a szükséges adatokat és a képet a progi? Utóbbi lenne a legfontosabb mert azt nem tudja egyik program sem, de ha tudtok ilyenről szóljatok. Ha Word-ben is megoldható az is jó lenne.