Hirdetés

Új hozzászólás Aktív témák

  • m.zmrzlina
    senior tag

    Van egy munkafüzetem, amibe két módszerrel szoktak adatot beilleszteni a felhasználók. (kb 1500 sor 15 oszlop) Egy e-mail html szövegtörzsét teszik vagy közvetlenül vagy egy másik excel munkafüzet közbeiktatásával vágólapra. A vágólap tartalmát - némi ellenőrzés elvégzése és formázás után - egy makró teszi a kívánt helyre. (ismét köszönet érte Delilának)

    A problémám az, hogy néha - ki tudja milyen okból - "Az egyesített cella része nem módosítható!" hibaüzenettel kiakad a makró. Szerencsére (vagy sajnos) ez a hiba nagyon ritkán fordul elő és ezért nem tudtam még rájönni, hogy mi okozza. Nyilván az új adattábla egyesített cellái valami miatt elcsúsznak a régihez képest. Mivel az eredeti adattábla elég sok egyesített cellát tartalmaz ezért azt találtam ki, hogy a vágólap beillesztése előtt egy Cells.UnMerge sorral megszüntetem a régi munkalap cellaegyesítéseit és csak ezután kezdem el a vágólap beillesztését.

    Igen ám de itt a probléma. Ha egyenesen e-mailből megy a vágólapra másolás akkor rendben lefut a makró de ha excelből Ctrl+C-vel akkor úgy viselkedik mintha üres lenne a vágólap. Biztosan ez a sor okozza a problémát mert ha kikommentezem akkor megszűnik a hiba. (Meg természetesen az eredeti hiba kezelése is)

    Mit lehet ilyenkor tenni?

    A kérdés mostanra annyit egyszerűsödött, hogy ki lehet-e választani (programkódban természetesen) hogy beillesztéskor forrásként az Office vágólap és ne az oprendszer vágólapja szerepeljen?

    Az történik ugyanis (a clipbrd.exe-vel kiválóan követhetően) hogy amint lefut az a programsor amiben az UnMerge van a rendszer vágólapja kiürül. Az Office vágólapon viszont továbbra is ott van a beilleszteni kívánt adat.

    Két módszert próbáltam megkerülendő a problémát. Az egyik hogy töröltem az egész lapot ahová a beillesztés megy majd létrehoztam egy újat ugyanazon a néven. Talán mondanom sem kell ez nem jött be. A másik hogy az UnMerge előtt letároltam a vágólap tartalmát egy átmeneti helyre majd az UnMerge után bemásoltam a végleges helyére majd az átmeneti helyéről töröltem. Ez sem az igazi mert ez meg nagyon nyögvenyelőssé teszi a munkafüzet működését.

Új hozzászólás Aktív témák