HWSW Informatikai Kerekasztal: Excel segítség! - HWSW Informatikai Kerekasztal

Ugrás a tartalomhoz

Mellékleteink: HUP | Gamekapocs

  • (63 Oldal)
  • +
  • « Első
  • 23
  • 24
  • 25
  • 26
  • 27
  • Utolsó »
  • Nem indíthatsz témát.
  • A téma zárva.

Excel segítség! Értékeld a témát: -----

#481 Felhasználó inaktív   Orgi 

  • Senior tag
  • PipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 3.437
  • Csatlakozott: --

Elküldve: 2009. 04. 23. 19:13

Idézet: Delila - Dátum: 2009. ápr. 15., szerda - 6:53

A különböző verziójú Excelekben különböző az egy cellában megadható karakterek száma. A súgóban keress rá a karakterszámra.

Köszi mindent, próbálkozom. Karakterszámot nem tlaáltam, csak vmi dumát HOSSZ nevű függvényről egyelőre :(

#482 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2009. 05. 03. 10:22

Idézet: Orgi - Dátum: 2009. ápr. 23., csütörtök - 19:13

Köszi mindent, próbálkozom. Karakterszámot nem tlaáltam, csak vmi dumát HOSSZ nevű függvényről egyelőre :(

A hossz függvény azt adja meg, hogy a hivatkozott szövegben (cellában) hány karakter van, beleértve a nem láthatóakat, pl. a szóközt is.

Az alábbi két makró segítségével pontosan be tudod állítani a kijelölt cellák szélességét, ill. magasságát.

Sub cmdHeight_Click()
    nHeight = Val(InputBox("Hány mm legyen a cella magassága?", "Cella magassága", Default))
    
    If nHeight <= 0 Then
        MsgBox "A magasságnak nagyobbnak kell lennie nullánál!", vbExclamation, "Cellaméretek": Exit Sub
    End If
    If nHeight > 144.2 Then
        MsgBox "A legnagyobb sormagasság: 144,2 mm!", vbExclamation, "Cellaméretek": Exit Sub
    End If

    For nArea = 1 To Selection.Areas.Count
        For nRow = 0 To Selection.Areas(nArea).Rows.Count - 1
            Rows(Selection.Areas(nArea).Row + nRow).RowHeight = _
                Application.CentimetersToPoints(nHeight / 10)
        Next nRow
    Next nArea
End Sub


Sub cmdWidth_Click()
    nWidth = Val(InputBox("Hány mm legyen a cella szélessége?", "Cella szélessége", Default))
    If nWidth <= 0 Then
        MsgBox "A szélességnek nagyobbnak kell lennie nullánál!", vbExclamation, "Cellaméretek": Exit Sub
    End If
    nPoints = Application.CentimetersToPoints(nWidth / 10)

    If nWidth > 473.6 Then
        MsgBox "A maximális szélesség: 473,6 mm", vbExclamation, "Cellaméretek": Exit Sub
    End If

    Application.ScreenUpdating = False
    For nArea = 1 To Selection.Areas.Count
        For nCol = 0 To Selection.Areas(nArea).Columns.Count - 1
            nColNo = Selection.Areas(nArea).Column + nCol

            While Columns(nColNo + 1).Left - Columns(nColNo).Left - 0.1 > nPoints
                Columns(nColNo).ColumnWidth = Columns(nColNo).ColumnWidth - 0.1
            Wend
            While Columns(nColNo + 1).Left - Columns(nColNo).Left + 0.1 < nPoints
                Columns(nColNo).ColumnWidth = Columns(nColNo).ColumnWidth + 0.1
            Wend
        Next nCol
    Next nArea
    Application.ScreenUpdating = True
End Sub


A két makró a PC WORLD egy régebbi számában szerepelt, csak ott formos megoldással, aminek a leírása kicsit körülményes lenne itt, ezért egy picit módosítottam rajta (inputbox).
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#483 Felhasználó inaktív   Bozo11 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 7
  • Csatlakozott: --

Elküldve: 2009. 05. 05. 16:57

Sziasztok egy nagy segítség kellene nekem.
Adott két táblázat. egy 8000 soros és egy 500 soros. A 8000 sorosban 16 soronként ismétlődik minden csak más adatokkal. Vegyük ezt termékekenek. Tehát a 8000 sor 16*500 termék. Az ötszáz sor pedig 1-1 terméknek az ará. Hogyan tudom az 500 sorból átrakni a 8000 sorosba az árat? tehát minden 16. sorba rakjon egy soert az 500 sorosból. :)
Remélem értehető volt amit írtam. :)
Sürgős lenne nagyon :(

#484 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2009. 05. 05. 17:38

Azt is kellett volna írnod, hogy az árak melyik oszlopban vannak, a 8000 tételes listának melyik oszlopába akarod bemásolni azokat, mi a két lap neve, vannak-e címsorok.

Az alábbi makró a Munka2 lap (árak) A oszlopából átmásolja az adatokat a Munka1 lap (termékek) B oszlopába. Az első ár a B2, a második a B17, a harmadik a B33 (stb.) cellába kerül, feltételezve, hogy van címsor mindkét lapodon.

Sub ar_copy()
    sor_ar = 2
    Sheets("Munka1").Cells(2, 2) = Sheets("Munka2").Cells(sor_ar, 1)
    For sor = 17 To 8001 Step 16
        sor_ar = sor_ar + 1
        Sheets("Munka1").Cells(sor, 2) = Sheets("Munka2").Cells(sor_ar, 1)
    Next
End Sub


A Cells(sor,2) kifejezésben a 2 jelenti a Munka1 lapon a B oszlopot, a Cells(sor_ar,1)-ben az 1 a Munka2 lap A oszlopát. Ezeket, és a lapok nevét írd át úgy, ahogy a füzetedben szerepelnek.
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#485 Felhasználó inaktív   Bozo11 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 7
  • Csatlakozott: --

Elküldve: 2009. 05. 05. 17:55

Idézet: Delila - Dátum: 2009. máj. 5., kedd - 17:38

Azt is kellett volna írnod, hogy az árak melyik oszlopban vannak, a 8000 tételes listának melyik oszlopába akarod bemásolni azokat, mi a két lap neve, vannak-e címsorok.

Az alábbi makró a Munka2 lap (árak) A oszlopából átmásolja az adatokat a Munka1 lap (termékek) B oszlopába. Az első ár a B2, a második a B17, a harmadik a B33 (stb.) cellába kerül, feltételezve, hogy van címsor mindkét lapodon.

Sub ar_copy()
    sor_ar = 2
    Sheets("Munka1").Cells(2, 2) = Sheets("Munka2").Cells(sor_ar, 1)
    For sor = 17 To 8001 Step 16
        sor_ar = sor_ar + 1
        Sheets("Munka1").Cells(sor, 2) = Sheets("Munka2").Cells(sor_ar, 1)
    Next
End Sub


A Cells(sor,2) kifejezésben a 2 jelenti a Munka1 lapon a B oszlopot, a Cells(sor_ar,1)-ben az 1 a Munka2 lap A oszlopát. Ezeket, és a lapok nevét írd át úgy, ahogy a füzetedben szerepelnek.

Ajjjaj, én nem vagyok egy nagy exceles véletlenül kell ezt megcsináljam...
DE!
Megpróbálom leírni pontosabban. Ebböl XML fájl készülne.
1 tételhez 16 sor van az excel táblában. Ebből a 16 sorból az egyik az ár.
A másik táblában van 500 sor árakkal. arra lenne szükségem hogy az 500 sorból rakja be az árakat abba a sorba ahova való. Ugyan ebben az oszlopban vannak mások is. De az egyik sor az ár.
Van email-ed? mert küldenék inkább mintát. MErt amit leírtál azt nem tudom hogyan kell használni.

#486 Felhasználó inaktív   debaj 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 29.476
  • Csatlakozott: --

Elküldve: 2009. 05. 05. 23:13

Adott két Excel-tábla, egy webes rendszer régebbi és frissített verziójának a nyelvi fájljai, amelyek között van egy elég jelentős átfedés. Egy sor körülbelül így néz ki:
változó neve = behelyettesítendő szöveg

A régi verziónak csak a magyarra fordított változata van meg, az új verziót pedig most kaptam meg, és van benne körülbelül ezer új, még nem lefordított rész. Ebből kellene kihajigálni azt a párezret, ami már készen van, mivel nagyon okosan nem a fájl végére rakták az új bejegyzéseket, hanem össze-vissza. A kérdés az lenne, hogy hogyan lehet minden olyan sort, ahol a "változó neve =" rész a régebbi fájlban is megtalálható, törölni valami automatizált módszerrel?

Szerkesztette: debaj 2009. 05. 05. 23:13 -kor


#487 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2009. 05. 06. 06:12

debaj

Tegyél be autoszűrőt. Az egyéni kategóriában a "tartalmaz" opciónál add meg a "változó neve" szöveget idézőjelek nélkül.
Szűrés után jelöld ki a sorokat, és töröld.
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#488 Felhasználó inaktív   debaj 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 29.476
  • Csatlakozott: --

Elküldve: 2009. 05. 06. 07:39

De éppen ez a probléma, körülbelül 5000 ilyen sor van, és mindegyiknél más a változó neve. Ezért kéne automatizálni.

#489 Felhasználó inaktív   debaj 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 29.476
  • Csatlakozott: --

Elküldve: 2009. 05. 06. 09:17

No, miután megkaptam a régi verzió eredetijét, megoldottam Accessben, Update query segítségével. :)

#490 Felhasználó inaktív   BlackKILler 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 2
  • Csatlakozott: --

Elküldve: 2009. 05. 11. 13:38

Nem tudjatok veletlen, hogy tudom meg csinalni excelben azt, hogy kiszamolja nekem mennyi kerstem? :D

Kicsit bovebben:


pl: 1 heten dolgoztam 27 orat amit sima szummal kiszamoltatok vele, eddig nincs is gond! nah de nekem az lenne a lenyeg, hogy kiszamolja, hogy a 27 ora az = 27*3400=91800 Ft !

Remellem erheto voltam!



udv.: BkL

#491 Felhasználó inaktív   debaj 

  • Őstag
  • PipaPipaPipaPipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 29.476
  • Csatlakozott: --

Elküldve: 2009. 05. 11. 15:39

Hm, a szummát szorozd meg 3400-zal, és tadamm.

#492 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2009. 05. 11. 15:59

Idézet: BlackKILler - Dátum: 2009. máj. 11., hétfő - 13:38

1 heten dolgoztam 27 orat amit sima szummal kiszamoltatok vele, eddig nincs is gond! nah de nekem az lenne a lenyeg, hogy kiszamolja, hogy a 27 ora az = 27*3400=91800 Ft !

Beteheted az órabéredet egy cellába.

=SZUM(tól:ig)*ÓrabértTartalmazóCella

Szerkesztette: Delila 2009. 05. 11. 16:01 -kor

Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#493 Felhasználó inaktív   wix 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 15
  • Csatlakozott: --

Elküldve: 2009. 05. 14. 07:36

Sziasztok!

A következő problémához kérném a segítségeteket:
Adott egy Excel táblázat (Office 2003 - magyar), mely tele van SQL lekérdezésekkel, marókkal, függvényekkel. Az megoldható e, hogy ha a használó a mentésre kattint, akkor ne engedje felülírni az eredeti táblázatot, hanem alapértelmezésként mentés másként-el történjen és úgy, hogy csak az értékeket és a formátumot mentse? Vagyis ezáltal csökkenjen jelentősen a mentett táblázat mérete és ne lehessen véletlenül sem felülírni az eredetit.

Üdv,
Wix

#494 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2009. 05. 14. 09:18

Wix

Írj egy makrót, ami a képletek helyére beilleszti az értékeket, és más néven (pl. az eredeti név + az aktuális dátum, vagy idő) menti a füzetet.

        ment = utvonal & fajlnev & "_" & Format(Now, "yyyy.mm.dd") & ".xls"
        ActiveWorkbook.SaveAs ment

A Testreszabás menü segítségével tegyél ki hozzá egy ikont, amire átmásolod a Mentés ikon képét, a Mentés ikont pedig vedd le az eszköztárról.
Ugyanezt a makrót lemásolhatod auto_close néven, mert az ilyen nevű makrót az Excel a füzet bezárásakor automatikusan végrehajtja. Így nem fordulhat elő, hogy mentés nélkül zárják be a fájlt.

Szerkesztette: Delila 2009. 05. 14. 09:20 -kor

Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#495 Felhasználó inaktív   wix 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 15
  • Csatlakozott: --

Elküldve: 2009. 05. 14. 09:34

Idézet: Delila - Dátum: 2009. máj. 14., csütörtök - 9:18

Wix

Írj egy makrót, ...................

Köszönöm a segítséget! Azt elfelejtettem, hogy a táblázatnak több füle van, de csak az első fület kellene menteni!

Szerkesztette: wix 2009. 05. 14. 09:37 -kor


#496 Felhasználó inaktív   Berger2 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 2
  • Csatlakozott: --

Elküldve: 2009. 05. 14. 11:26

Üdvözlet!

A következőkben kérném a segítséget:

Excel makró alatt szeretnék egy word dokumnetumot létrehozni, majd abba egy excel filet beillszteni.

A létrehozás ok, de nem tudom belerakni objektumként, úgy hogy, ha rákkatint, akkor mgnyíljon az excel. :think:

Ötlet?

Elnézést ha régebben már volt.

#497 Felhasználó inaktív   wix 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 15
  • Csatlakozott: --

Elküldve: 2009. 05. 16. 07:46

Idézet: Delila - Dátum: 2009. máj. 14., csütörtök - 9:18

Wix

Írj egy makrót, ami a képletek helyére beilleszti az értékeket, és más néven (pl. az eredeti név + az aktuális dátum, vagy idő) menti a füzetet.

        ment = utvonal & fajlnev & "_" & Format(Now, "yyyy.mm.dd") & ".xls"
        ActiveWorkbook.SaveAs ment

A Testreszabás menü segítségével tegyél ki hozzá egy ikont, amire átmásolod a Mentés ikon képét, a Mentés ikont pedig vedd le az eszköztárról.
Ugyanezt a makrót lemásolhatod auto_close néven, mert az ilyen nevű makrót az Excel a füzet bezárásakor automatikusan végrehajtja. Így nem fordulhat elő, hogy mentés nélkül zárják be a fájlt.

Szia!

Kipróbáltam, de van vele egy kis gond. Elmenti külön munkafüzetbe, dátum szerint, de benne maradnak a makrók, függyvények, stb. ezenkivül nem kérdezi meg milyen néven szeretnénk elmenteni.
Azt pedig elfelejtettem az eredeti kérésemben mondani, hogy a munkafüzet több lapból áll és nekünk csak az aktuális lapot kellene menteni.

Üdv és köszönöm az eddigieket!

Wix

#498 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2009. 05. 16. 08:24

Wix

Az eredeti füzetben makróból nyiss egy új füzetet (ez lesz az aktív).
Workbooks.Add Template:="Munkafüzet"

Töröld a felesleges lapokat.
Sheets(Array("Munka2", "Munka3")).Delete

Itt felteszi a kérdést, hogy valóban törölni akarod-e. Letilthatod a kérdést:
Application.DisplayAlerts=False
Ezt a sort a lapok törlése elé tedd be. A törlés után érdemes visszaállítani, a False helyére True-t írva.

Lépj vissza az eredetibe, másolj, vissza az újba, értékként beilleszted az adatokat, mentés másként (a dátum hozzáadásával).

Egy inputboxban a mentés előtt bekérheted az új nevet:
fajlnev=Inputbox("Mi legyen az új füzet neve", "Füzetnév bekérése", Default),
de megadhatod egy változóban is:
fajlnev="Fájl neve"

Az útvonalat is megadhatod inputboxban, vagy változóban. Célszerűbb változóban megadni mindkettőt, hiszen valószínűleg minden leválogatásnál azonosak lesznek, a különbség a névhez hozzáadott dátum lesz. Kevesebb munka a feladatot végzőnek, és ki van zárva az elütés lehetősége.

A két füzet között a váltás:
Következő füzet -> ActiveSheet.Next.Select
Előző füzet -> ActiveSheet.Previous.Select
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

#499 Felhasználó inaktív   wix 

  • Újonc
  • Pipa
  • Csoport: Alkalmi fórumtag
  • Hozzászólások: 15
  • Csatlakozott: --

Elküldve: 2009. 05. 16. 09:08

Idézet: Delila - Dátum: 2009. máj. 16., szombat - 8:24

Wix

Az eredeti füzetben makróból nyiss egy új füzetet (ez lesz az aktív).
Workbooks.Add Template:="Munkafüzet"

Töröld a felesleges lapokat.
Sheets(Array("Munka2", "Munka3")).Delete

Itt felteszi a kérdést, hogy valóban törölni akarod-e. Letilthatod a kérdést:
Application.DisplayAlerts=False
Ezt a sort a lapok törlése elé tedd be. A törlés után érdemes visszaállítani, a False helyére True-t írva.

Lépj vissza az eredetibe, másolj, vissza az újba, értékként beilleszted az adatokat, mentés másként (a dátum hozzáadásával).

Egy inputboxban a mentés előtt bekérheted az új nevet:
fajlnev=Inputbox("Mi legyen az új füzet neve", "Füzetnév bekérése", Default),
de megadhatod egy változóban is:
fajlnev="Fájl neve"

Az útvonalat is megadhatod inputboxban, vagy változóban. Célszerűbb változóban megadni mindkettőt, hiszen valószínűleg minden leválogatásnál azonosak lesznek, a különbség a névhez hozzáadott dátum lesz. Kevesebb munka a feladatot végzőnek, és ki van zárva az elütés lehetősége.

A két füzet között a váltás:
Következő füzet -> ActiveSheet.Next.Select
Előző füzet -> ActiveSheet.Previous.Select

Nagyon köszönöm így már boldogulok! Még egyet árulj el, az óra, percet, hogy tudom definiálni? Tehát azt szeretném, hogy a köv. formátumú dátum mentés legyen: 2009.05.16.10.06
Az óra az "hh", a percet nem tudom(php-ban az "i", de itt nem fogadja el!

Szerkesztette: wix 2009. 05. 16. 09:09 -kor


#500 Felhasználó inaktív   Delila 

  • Tag
  • PipaPipa
  • Csoport: Fórumtag
  • Hozzászólások: 376
  • Csatlakozott: --

Elküldve: 2009. 05. 16. 10:37

Format(Now, "yyyy.mm.dd.hh.mm")

A két mm közül, bármilyen hihetetlen, ki tudja választani, melyik vonatkozik a hónapra, és melyik a percre.
Az xls helyett mentheted csv formátumban is.

Melyik módszert választod, az inputot, vagy a változót?

Jó munkát.
Program az, ami az adatokat hibaüzenetté konvertálja.
Link

Téma megosztása:


  • (63 Oldal)
  • +
  • « Első
  • 23
  • 24
  • 25
  • 26
  • 27
  • Utolsó »
  • Nem indíthatsz témát.
  • A téma zárva.

2 felhasználó olvassa ezt a témát.
0 felhasználó, 2 vendég, 0 anonim felhasználó