< návrat zpět

MS Excel


Téma: Načtení dat do formuláře rss

Zaslal/a 25.11.2013 12:59

Zdrávím, opět potřebuji trošku pomoci.
V přiloženém sešitu se vkládají makrem data z listu Nabídka_im do listu Nabídka.
Vše je OK, jen bych potřeboval, aby se vkládaná data do formuláře vložila za již existující položky. Zatím je to tak, že se fixně vloží od 24 řádku.
Budu-li mít tedy nějaké položky ve formuláři a budu chtít provést import dat z listu Nabídka_im, tak se data z importu vloží za již obsazené řádky. Kontrola obsazenosti by se měla provést ve sloupci C (Název položky) jelikož ostatní údaje na řádku nemusejí být vyplněny.
Pomůže někdo? Díky M.

Zaslat odpověď >

Strana:  « předchozí  1 2
#016542
avatar
Kontrola místa.
Příloha: zip16542_databaze2.zip (122kB, staženo 20x)
citovat
#016543
avatar
No tak to je uplně pecka, díky.
Jen mě zajímá, kde si v kódu specifikoval minimální počet volných řádků pro import, v níže uvedené podmínce není zmínka o 10 řádcích, nějak na to nemůžu přijít a rád bych to pochopil:-) Díky za odpověď.
If 124 - posled < posled_im - 24 Then
MsgBox "Načítaných dat je víc než se vejde do nabídky"
Range("A1").Select
Exit Sub
End If
citovat
#016544
avatar
Ok, už jsem na to asi přišel. Nejprve se zjistí kolik se bude kopírovat řádků a pak se ověří dostupné řádky v Nabídce a pak se import přeruší, nebo pokračuje. Chápu to správně?citovat
#016545
avatar
Ne, to není na 10 řádků. Když je počet volných řádků na listu nabídka menší než počet řádků kopírovaných z nabídka_im, neprovede se.
Mě osobně tam ještě vadí to pevné rozmezí 24-124. Chápu, nebude se třeba měnit, ale já se snažím dělat vše univerzálně, tak aspoň bych ty meze dal jako proměnnou (start, konec apod.) a v kódu místo pevných čísel všude ty proměnné. Pak je změna snadná.citovat
#016546
avatar
Díky za pomoc a za odpověď.
Rozmezí ve formuláři je fixní a nic se měnit nebude, maximálně časem přidám řádky, takže takhle je to pro mě vyhovující, zatím:-)citovat
#016548
avatar
Ještě tedy mám jednu maličkost a už opravdu poslední k tomuto tématu. Ve formuláři mám makro, které skryje prázdné řádky v rozmezí 24 až 124, ale skrývá od posledního obsazeného řádku. Potřeboval bych, aby skrylo i prázdné řádky mezi obsazenými. Šlo by to nějak poupravit aby to skrývalo vše prázdné v daném rozmezí + za posledním obsazeným řádkem nechalo viditelný jeden řádek neobsazený? Je to jen pro doladění pro tiskový výstup, aby to šlo vše pěkně za sebou.

Private Sub CommandButton2_Click()
Dim rRowsToHide As Range
Dim i As Integer
For i = 124 To 24 Step -1
If IsEmpty(Cells(i, 3)) And IsEmpty(Cells(i - 1, 3)) Then
If rRowsToHide Is Nothing Then
Set rRowsToHide = Cells(i, 3)
Else
Set rRowsToHide = Union(rRowsToHide, Cells(i, 3))
End If
Else
Exit For
End If
Next
If Not rRowsToHide Is Nothing Then
rRowsToHide.EntireRow.Hidden = True
End If
Set rRowsToHide = Nothing
End Sub
citovat
#016549
avatar
Na obou listech nabídky, snad to bude fungovat.
Příloha: zip16549_databaze3.zip (123kB, staženo 28x)
citovat
#016550
avatar
Jojo, funguje perfektně. Děkuji moccitovat

Strana:  « předchozí  1 2

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