< návrat zpět

MS Excel


Téma: posloupnost ve vzorci rss

Zaslal/a 29.5.2019 12:05

Ahoj, lze do prázdných buněk vložit vzorec, ale aby odkazy ve vzorci byly posloupně? Přes "go to special.." vložím vzorec, ale bez posloupnosti.

Zaslat odpověď >

#043443
elninoslov
Priložte príklad v prílohe (príloha sem pôjde vložiť, iba ak sa zaregistrujete).citovat
#043456
avatar
Příklad v příloze.
Příloha: xlsx43456_forum.xlsx (11kB, staženo 24x)
citovat
#043457
elninoslov
To čo chcete je skutočne podivné, neviem to urobiť Exceláckym spôsobom, tak ak by som to potreboval ja, tak by som si pomohol takýmto makrom:
Sub DoplnVzorec()
Dim V(), R As Long, stlpRef As Integer, stlpDopln As Integer, rngDopln As Range, i As Long, VRiadok As Long

Const VZOREC$ = "=A#+B#" 'Vzorec na doplnenie - # je náhrada čísla riadku

stlpRef = 1 'V ktorom stĺpci je referenčný počet riadkov
stlpDopln = 3 'V ktorom stĺpci sa bude dopĺňať

With ThisWorkbook.ActiveSheet
R = .Cells(Rows.Count, stlpRef).End(xlUp).Row - 1 'Zisti počet dátových riadkov
If R = 0 Then Exit Sub

With .Cells(2, stlpDopln).Resize(R)
If R = 1 Then 'Načítaj vzorce zo stĺpca do poľa pre dopĺňanie.
ReDim V(1 To 1, 1 To 1): V(1, 1) = .Formula 'To aby ostali prípadné vzorce zachované
Else 'Ak sú to maticové fungovať to nebude !!!
V() = .Formula
End If

For i = 1 To R 'Prejdi všetky riadky
If LenB(V(i, 1)) = 0 Then 'Ak je prázdna (0 dĺžka vzorca)
If VRiadok = 0 Then 'Ak ešte nebolo dopĺňané, nastav riadok vo vzorci na aktuálne skúmaný
VRiadok = i + 1
Else
VRiadok = VRiadok + 1 'Inak zvýš počítadlo riadku v dopĺňanom vzorci
End If
V(i, 1) = Replace(VZOREC, "#", VRiadok) 'Uprav riadok vo vzorci, a ulož do poľa vzorcov
End If
Next i

.Formula = V 'Zapíš naspäť do stĺpca pole s doplnenými vzorcami
End With
End With
End Sub
Příloha: zip43457_dopln-podivny-vzorec.zip (16kB, staženo 18x)
citovat
#043458
avatar
Zadání postrádá logiku.citovat
#043463
avatar
Díky za VBA.
Proč by to postrádalo logiku? Vstupní data můžu mít v jiném listu a v dalších listech je použít do určitých buněk..
Spíše mě to zajímalo jestli to šlo udělat i jinak než přes VBA.citovat
#043464
avatar
D3 versus D5 je logické? Mně přijde, že to je logika z Venuše.citovat
#043468
avatar
Taky to moc nechápu, Pokud jsou neprázdné buňky vyplněné konstatnou, zkuste něco takového

=SUMA(POSUN($A$4:$B$4;SUMA(--ISFORMULA($E$1:E2));0))
(maticově)

Pokud ne tak můžete zkusit FORMULATEXT, a testovat počet výskytů vzorce.

Tj. pokud chápu doatz, tak to jde.citovat

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