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;"<>"&"")
Nejaké riešenie som možno našiel, ale je problematické. Problémy s knihovňami, s x64 OS, s IE10 ...
http://stackoverflow.com/questions/10782394/pop-up-the-excel-statusbar/10787496#10787496
Ten kruhový diagram je tam robený presne tak, že sa načítajú obrázky z listu do formu.
lopi007: Ani sa mi to nechce popisovať. Nesedí Vám tam kooopec vecí. Niektoré zapísané údaje sa strácajú (neukladajú sa do DB), zbytočné prepočty, nevhodné textové formáty aj na dátumy, nešťastné dizajnové riešenia (spoločná poznámka ?), veľmi pomalé makro, obrovský počet Definovaných názvov, neustály prestup bunky/VBA (pomalé), zbytočný počet riadkov v DB ... atď.
Veľa vecí som Vám upravil, aby to fungovalo, a bolo to rýchlejšie. Ale je to za cenu neprehľadnosti makra (pre Vás). Viac sa mi nechce...
Tak len na rýchlo tú včerajšiu prílohu
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.