Zdravím. Nedaří se mi elegatně vyřešit následující problém.
Budu rád za jakoukoliv pomoc.
1 Mám soubor A.xls obsahující nadefinované makro na prvních 5 listech
2 Mám soubor B.xls obsahující x listů (cca 30)
Potřeboval bych vytvořit propojení ,tak aby se do souboru A.xls na 6 .list (nový) přenesly všechny listy ze souboru B.xls se stejným pojmenováním a formátovaním, které má soubor B.xls
Našel jsem možnost Úpravy/propojení, bohužel je tato možnost zašedlá, tudíž neaktivní.Pomocí hypertextového odkazu to nefunguje a vypisovat jednotlivé propojení pro každý list mi příjde komplikované.
Pokud to samozřejmě jinak nejde, budu to muset udělat takto.
Propojení MS Excell 2003 Vyřešeno
-
- Level 1
- Příspěvky: 56
- Registrován: červen 09
- Pohlaví:
- Stav:
Offline
Re: Propojení MS Excell 2003
Ahoj
Nějak nemohu pochopit tvé pojmy
Mám to chápat tak, že ty listy obsahují kód reagující na různé události? (Např Activate nebo Change)
Dále
Jak si představuješ propojení (tj - změníli se data v B tak se změní i v A) 30 listů do jednoho. To jako pokud má každý list v B 100 řádků tak 1. list B bude propojen s řádky 1-100, druhý s řaádky 101-200 atd listu 6 v A? Kam se má vložit pojmenování původního listu? Do přidaného sloupce nebo řádku nad oblastí? Nebo jméno toho listu 6 v A má být sloučením jmen všech listů z B?
Omlouvám se ale přijde mi to trochu mimo
Zkus upřesnit dotaz
Pavel
Nějak nemohu pochopit tvé pojmy
1 Mám soubor A.xls obsahující nadefinované makro na prvních 5 listech
Mám to chápat tak, že ty listy obsahují kód reagující na různé události? (Např Activate nebo Change)
Dále
Potřeboval bych vytvořit propojení ,tak aby se do souboru A.xls na 6 .list (nový) přenesly všechny listy ze souboru B.xls se stejným pojmenováním a formátovaním, které má soubor B.xls
Jak si představuješ propojení (tj - změníli se data v B tak se změní i v A) 30 listů do jednoho. To jako pokud má každý list v B 100 řádků tak 1. list B bude propojen s řádky 1-100, druhý s řaádky 101-200 atd listu 6 v A? Kam se má vložit pojmenování původního listu? Do přidaného sloupce nebo řádku nad oblastí? Nebo jméno toho listu 6 v A má být sloučením jmen všech listů z B?
Omlouvám se ale přijde mi to trochu mimo
Zkus upřesnit dotaz
Pavel
-
- Level 1
- Příspěvky: 56
- Registrován: červen 09
- Pohlaví:
- Stav:
Offline
Re: Propojení MS Excell 2003
Pro vysvětlení jsem vytvořil testovací XLS soubory s jiným počtem listů,ale pro pochopení si myslím,že dostačující.
Soubory by ve výsledku samozřejmě obsahovaly jiné údaje ... jde mi jen o to přenést listy ze souboru B do souboru A.
V souboru A.xls mám vytvořeno 5 listů.
Soubor B.xls má 30 listů .
Požadavek: Do souboru A.xls přenést všechny listy ze souboru B.xls 1:1 tzn. Soubor A.xls by měl po sloučení 35 listů ( 5 původních listů, 30 nových listů ze souboru B.xls) beze změny.
Výsledný soubor vy vypadal takto.
Děkuji za radu
Soubory by ve výsledku samozřejmě obsahovaly jiné údaje ... jde mi jen o to přenést listy ze souboru B do souboru A.
V souboru A.xls mám vytvořeno 5 listů.
Soubor B.xls má 30 listů .
Požadavek: Do souboru A.xls přenést všechny listy ze souboru B.xls 1:1 tzn. Soubor A.xls by měl po sloučení 35 listů ( 5 původních listů, 30 nových listů ze souboru B.xls) beze změny.
Výsledný soubor vy vypadal takto.
Děkuji za radu
Re: Propojení MS Excell 2003
Ahoj
V přiloženém souboru je makro co snad dělá co jsi chtěl.
Pokud mi jej někdo zkritizuje, či poradí jak ošetřit chyby a mezní stavy, tak to uvítám.
Pavel
V přiloženém souboru je makro co snad dělá co jsi chtěl.
Pokud mi jej někdo zkritizuje, či poradí jak ošetřit chyby a mezní stavy, tak to uvítám.
Pavel
Kód: Vybrat vše
Sub Sheets_Import()
'
' Přidá listy z jiného souboru
' Upozorňuji že makro je třeba doplnit o ošetření chyb a mezních stavů
Dim objOpen As FileDialog
Dim strSource As String
Dim strTarget As String
Dim L As Long
strTarget = ActiveWorkbook.Name
Set objOpen = Application.FileDialog(msoFileDialogFilePicker)
objOpen.AllowMultiSelect = False
objOpen.InitialFileName = ActiveWorkbook.Path
objOpen.Filters.Clear
objOpen.Filters.Add "Excel", "*.xls", 1
If objOpen.Show = -1 Then
strSource = objOpen.SelectedItems(1)
Else
Set objOpen = Nothing
Exit Sub
End If
'
Workbooks.Open strSource 'Otevře seoubor a předá mu fokus tj. pracuji v nově otevřeném souboru
strSource = ActiveWorkbook.Name
For L = 1 To Sheets.Count
Workbooks(strSource).Sheets(L).Copy After:=Workbooks(strTarget).Sheets(Workbooks(strTarget).Sheets.Count)
Next L
Workbooks(strSource).Close
Set objOpen = Nothing
End Sub
- Přílohy
-
- A.xls
- (41 KiB) Staženo 103 x
-
- Level 1
- Příspěvky: 56
- Registrován: červen 09
- Pohlaví:
- Stav:
Offline
Re: Propojení MS Excell 2003
Díky moc. Funguje správně
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 1
- 1918
-
od Melvidor
Zobrazit poslední příspěvek
12 led 2025 12:01
-
- 16
- 8573
-
od šulda
Zobrazit poslední příspěvek
28 bře 2025 21:30
-
- 1
- 1723
-
od zeus
Zobrazit poslední příspěvek
17 říj 2024 21:12
-
- 7
- 3894
-
od buchtik
Zobrazit poslední příspěvek
18 srp 2024 19:26
-
-
HDMI 2.1a propojení monitor g2724d a gk palit 4070 Ti SUPER GamingPro
od p3v4x » 25 črc 2024 20:58 » v Problémy s hardwarem - 1
- 3038
-
od kecalek
Zobrazit poslední příspěvek
27 črc 2024 13:23
-
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů