LukasC: To je preto, že skupinu kopírujete aj s prepojenou bunkou, ktorá je vždy absolútna, reda nemenná, teda rovnaká, teda sa skupiny ovplyvňujú. Alebo je to preto, že Vám skupiny do seba presahujú. Vy potrebujete, aby mala každá skupina svoju priradenú bunku, a na základe jej hodnoty urobte Podmienené formátovanie. Som len na mobile...
Mám pre Vás rozpracovanú kompletne prerobenú verziu, kde nezostane kameň na kameni. Žiaľ nemám zase ani prd času. Ak ešte vydržíte, dodám návrh, no najskôr sa k tomu vrátim v priebehu budúceho týždňa. Zatiaľ mám cca 75%, ale doteraz to bola tá ľahŝia časť...
To je teda riadny bordel v tých makrách a moduloch ... to neskúmam.
Popísané máte v súbore...
https://drive.google.com/open?id=0Byx6TAvkWzVadWFsRGUtb3QtbWM
Mrk na mail ...
Netuším, či Vás vôbec chápem. Ja by som to ale urobil inak. Rozdelil to na Tabuľky, ktoré niesú pomiešané, teda takto (vzorec musí byť žial podstatne dlhší ako som plánoval, lebo MATCH nedokáže vrátiť pozíciu výsledku "jeden z jedného").
Tak a je to tu znovu. Tentokrát to nerobím pre Vás, ale prišlo mi ľúto toho prípadného záujemcu o to pomôcť Vám, ktorý by sa musel predierať mojim kódom.
1. Nemôžete len tak meniť názvy listov. V makre v UserForm1 sú 3x odkazy na list "Osobnosti". Na zmenu toho ste sa vykašľal.
2. Cesta k súborom : Evidentne máte problém zmeniť cestu na všetkých miestach, takže som nadefinoval globálnu premennú v module "modRemoveDiak".
3. Čo to zase stvárate s makrom v liste "Karta klienta" ? Na zmenu obrázku v tomto liste nepotrebujete makro, a to sa ani nespustí, ak je hodnota zmenená vzorcom. Na to je definovaný názov "OBR_Z_VYHLEDANI"
4. Čo je to zase za vzorce v liste "Karta klienta"?
5. Čo je to za rozsah jedného jediného riadku ? Veď hľadáte v jednom riadku riadok, na ktorom sa nachádza hodnota. Tipnem si, vždy to bude riadok 1 (odhliadnime od chyby) ?
...
Toto mi fachá:
Sub Graf()
Dim Rng As Range, Cht As ChartObject, GrafData1 As Long, GrafData2 As Long
GrafData1 = 194
GrafData2 = 220
With ActiveSheet
Set Rng = .Range("A" & GrafData1 & ":B" & GrafData2)
Set Cht = .ChartObjects.Add(.Cells(GrafData1, "D").Left, .Cells(GrafData1 + 5, "D").Top, 450, 250) 'Create a chart
End With
Cht.Chart.SetSourceData Source:=Rng 'Give chart some data
End Sub
Vymente tú časť riadku za
Cells(Rows.Count, 1).End(xlUp).Offset(1) = Date
Predošlý robí problém ak tam nieje žiaden záznam. ALE, to len na okraj, je to zbytočné, lebo Vy takýto nezmysel nepotrebujete. Ja som Vás zle pochopil, a rovno som aj napísal, že mi nedáva zmysel zadanie, a preto je nezmysel aj riešenie.
Skôr to potrebujete nahradiť tým, čo Vám poslal Pavlus. Tu je trošičku upravená verzia:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Long, C As Integer
R = Target.Row: C = Target.Column
If R > 3 And C > 2 And C < 22 Then
Application.EnableEvents = False
If WorksheetFunction.CountBlank(Cells(R, 3).Resize(, 19)) <> 19 Then
If Cells(R, 1) = "" Then Cells(R, 1) = Date
Else
Cells(R, 1).ClearContents
End If
Application.EnableEvents = True
End If
End Sub
???
Tak ja Vám jasne poviem, že ste to popísal nedostatočne, a očakávam nápravu, a čo Vy na to ?
Jasne som Vám položil niekoľko otázok o tom, čo sa má diať s tým obrázkom, a kde sa to má diať. A čo Vy na to ?
Děkuji za pomoc
A teď jak to mám změnit podle mého vzoru cesta je tučně.
je možné aby to vyhledávalo misto OP přímo v liště vyhledávání podle ID
vyberu treba 001 a vyhledáto i obrázek
Upravené, zmente v makre konštantu Cesta.
Napr. takto. Niečo mi ale hovorí, že to určite nebude to, čo chcete. Pretože takto musíte zadať presný názov obrázku (bez prípony).
V tom prípade Vám stačí aj toto:
Private Sub SectiBunky2()
Dim ws As Worksheet, r As Long
Application.ScreenUpdating = False
Range("E55:W64").ClearContents
r = 55
For Each ws In Worksheets
With ws
If LCase(.Name) <> "vyroba" Then
Range("E" & r) = .Range("E49") + .Range("K48")
Range("F" & r) = .Range("E50") + .Range("K47")
Range("G" & r & ":K" & r) = .Range("G50:K50").Value
Range("S" & r) = .Range("S50")
Range("T" & r) = .Range("S6")
Range("W" & r) = .Range("W50")
r = r + 1
End If
End With
Next ws
Application.ScreenUpdating = True
End Sub
Je to meniaci sa počet listov ?
Názvy listov sa menia ? (kvôli tomu, či by nestačil 3D vzorec)
Čo to je za skomolenú vetu o tých súčtoch ? Ktorá hodnota sa berie zo "zlúčeného" listu, a ktorá z dátových ???
Ak by bolo tých listov veľa, takýmto spôsobom to bude pomalé. Potom použite niečo takéto, ako posielam - polia. Škoda, že výsledok nieje súvislá oblasť, bolo by to ešte rýchlejšie. Akurát je to neprehľadnejšie.
Najlepšie urobíte, ak vložíte názornú prílohu. Aby som Vám mohol tie súčty doplniť.
súčet prázdnych
=SUMIFS(A1:A6;B1:B6;"="&"")
súčet neprázdnych
=SUMIFS(A1:A6;B1:B6;"<>"&"")
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.