< návrat zpět

MS Excel


Téma: Překopírování dat rss

Zaslal/a 13.1.2014 16:54

Zdravím, mám 2 excelovské soubory. Soubor A a soubor B ( v každém je pouze jeden list). V souboru A mám hlavičku a potřeboval bych, aby se mi pomocí makra překopírovala data ze souboru B do souboru A hned pod hlavičku. Hlavička je (A1:A10). Můžete mi poradit. DAta se budou dynamicky přibývat a operace se budou opakovat čili budou řádky přibývat

Děkuji

Zaslat odpověď >

Strana:  1 2   další »
#017244
avatar
je dost moznosti ako to riesit

co tak pouzit tu najjednoduchejsiu metodu a to taku ze len do bunky nastavit odkaz na ten subor a bunku?citovat
#017245
avatar
pro názornost jsem použil označení A a B, ale soubor B se bude každý měsíc měni jak názvem tak i obsahemcitovat
#017249
avatar
tak makro ktore sa da upravit:

Private Sub aExcel(ByVal y As Integer)
Dim xl As Excel.Application
Dim W As Workbook

Set xl = CreateObject("Excel.Application")
Set W = xl.Workbooks.Open("C:\test.xlsx")

sheets(1).cells(1,1) = w.sheets(1).cells(1,1)

Set xl = Nothing
W.Close
End Sub


cells(1,1) = w.cells(1,1)
A1 = druhy dokument A1

staci takto?citovat
icon #017251
eLCHa
@Palooo

Proč vytváříte novou instanci?

A řekl bych, že W.Close vyhodí chybu, protože předtím nastavujete xl na Nothingcitovat
#017252
avatar

eLCHa napsal/a:

@Palooo Proč vytváříte novou instanci?

a ako by ste chceli zobrat z dokumentu B nejake data?citovat
icon #017254
eLCHa
Mno přece tak, že si ho otevřu v té samé instanci ;)
Úplně stejně, jako bych to dělal ručně (což mimochodem dělám každý měsíc, ale kód se mi na to psát nechce ;))) )
Otevřu 2 soubory - označím oblast, dám CTRL+C a vložím jako hodnoty.
Děláte to snad jinak? ;))citovat
#017255
avatar
popravde ja to stale davam do novej instancii :) ale uz netusim preco :)))

ma to nejaku vyhodu .... alebo je dost mozne ze casto robim s powerpointom, accesom, wordom a uz som tak zblbnuty ze to davam stale :)

Edit: treba otocit chybicka .)
W.Close
Set xl = Nothingcitovat
icon #017256
eLCHa
Nemá to žádnou výhodu v případě, že chcete kopírovat data (nemůžete využít vložit jinak).
Z mého pohledu je druhá instance použitelná pouze tehdy, když pracujete se souborem s velkým množstvím výpočtů - pak by zpomaloval i ostatní soubory a proto může být lepší mít jej otevřený v jiné instanci.citovat
#017261
avatar
.copy .paste alebo .pasteSpecial ... tychto prikazov sa vyvarujem a nechci ich pouzivat

ja radsej to pisem cells(1,1) = w.cells(1,1)

ale to by sme sa zas dostali k nasej oblubenej teme setovat a necyklovat :))))citovat
icon #017264
eLCHa

Palooo napsal/a:

.copy .paste alebo .pasteSpecial ... tychto prikazov sa vyvarujem a nechci ich pouzivat

Ve VBA (a to jen pokud se týká hodnot) ano, ale já mluvím o ručním kopírování.

Pokud chcete kopírovat formáty, tak se bez PasteSpecial sice obejdete, ale zblázníte se při tom ;)))

Proměnnou ani cyklus bych tady také nepoužil.

cells(1,1).Value = w.cells(1,1).Valuevám ale zkopíruje hodnotu pouze jediné buňky, takže byste měl použít ještě např. Resize (v zadání byla oblast). A mezi instancemi jsem to nikdy nepoužil, takže ani vlastně nevím, jestli to takto vlastně funguje ;)) (tipl bych, že ne).citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje