No veď dajte ako ste to vyriešil...
No a cez Envelope by to nemohlo byť (rondebruin) ?
Len to nepozná všetky formáty buniek, viď príklad.
Mám dobrú náladu, tak som ten Váš obrázok prerobil do súboru. Ak sa teda niekomu chce, môže to skúsiť napočítať správne. Urobil som nejaký návrh, ale nie som si istý všetkým, čo kde počítate. Napr. rozdiel medzi J a M ?
Všetko som si iba tipol...
Použil som tiež MSXML ale úplne inak ako Vy.
Každopádne ešte treba dodať:
-Bude sa jednať vždy o XML s jediným mesiacom ?
-Bude sa jednať vždy o list na ktorom je iba jediný mesiac ?
-Zaujíma Vám iba hodnota RD pri položkách STA 3,6,10,15,18,21,26,28, a ostatné STA teda nie ?
-Ak nebude dátum, ktorý obsahuje požadované STA v oblasti dátumov na liste, treba ho ignorovať a hodnotu RD neriešiť ?
-Dáta sa budú len aktualizovať, alebo prepisovať všetko ? Teda ak v XML nebude hľadaný dátum s hľadaným STA, ale v liste bude, má sa táto hodnota z listu zmazať ?
-Zaujímajú Vás vyššie spomínané hodnoty RD pri STA, ale v hlavičkách stĺpcov je niečo úplne iné. Skutočne majú hlavičky byť 1,2,2,11,12,13,21,22 ?
-Množstvo týchto stĺpcov bude variabilné alebo pevné (8) ?
-...
Riešenie - makrom
Spôsob - pomocná tbl
Pochopenie - ľahké
Prispôsobiteľnosť - vysoká
Použitie - diskutabilné
Tak skúste toto maticové riešenie GoogleDrive
Nerozumiem Vašemu zadaniu. Uveďte prílohu s príkladom, čo máte, a aj toho čo chcete z toho mať. Tu prikladám príklad získania čísla z textu reprezentujúceho hmotnosť v gramoch bez ohľadu či sa napíše xxkg, xxxg, xx,xkg, xxx.
EDIT: No neberie mi to prílohu, tak to dávam na GoogleDrive
A kurňa, terazky som si k tomu sadol. No nič tak idem zase na gauč
Tak nech je veselo
Príklad. Vypíše Vám to všetky výskyty hľadaného textu v zošite, s menom listu a číslom riadku. Špecifikácia požiadavky je ale od Vás veľmi slabá ...
Mne sa nedarí nasimulovať pád makra pri akomkoľvek naformátovaní čohokoľvek krížom krážom. Skúste iba 1 riadok, či dostanete chybu. A skúste aj nadefinovať pole, teda
Sub makroo()
Dim VDataOm()
Dim VDataRom()
Set ListROM = Sheets("ROM")
Set ListVyhodnoceni = Sheets("Vyhodnocení")
VRadku = ListVyhodnoceni.Cells(Rows.Count, "A").End(xlUp).Row
ReDim VDataRom(1 To VRadku, 1 To 5)
ReDim VDataOm(1 To VRadku, 1 To 5)
VDataOm = ListVyhodnoceni.Range("K3:O" & VRadku).Value2
VDataRom = ListVyhodnoceni.Range("Q3:U" & VRadku).Value2
'Na konci
Erase VDataOm
Erase VDataRom
End Sub
Zaujímavá haluška. A to mám polia rád...
Nie príliš optimálne, ale dajme tomu ... :
Private Sub CommandButton1_Click()
Dim VolnyRadek As Long, HDN, Rok As Long, Cislo As Long, nRok As Long
With Worksheets("List1")
VolnyRadek = .Cells(Rows.Count, 1).End(xlUp).Row + 1
nRok = Val(Format(Date, "yy"))
If VolnyRadek = 2 Then
Rok = nRok: Cislo = 1
Else
HDN = CStr(.Cells(VolnyRadek - 1, 1).Value2)
Cislo = Val(Right$(HDN, 3))
Rok = Val(Mid$(HDN, 2, 2))
If nRok <> Rok Then Rok = nRok: Cislo = 1 Else Cislo = Cislo + 1
End If
.Cells(VolnyRadek, 1).Resize(, 2).Value2 = Array("P" & Format(Rok, "00") & Format(Cislo, "000"), TextBox1.Value)
End With
End Sub
EDIT: maličká úprava...
No mám jedno prosté/sprosté riešenie (matica):
=MAX(IF(COUNTIF(OFFSET($A$2:$A$5;;{2;1;0});F2)>0;{3;2;1}))
=MAX(KDYŽ(COUNTIF(POSUN($A$2:$A$5;;{2;1;0});F2)>0;{3;2;1}))
F2 je prvá dátová bunka KT.
Na prd je, že to musíte nakopírovať na potrebný/predpokladaný počet riadkov KT.
Skôr ako som si uvedomil, že tam máte na to list s rozdelenými rozmermi, tak som spravil maticu. Funguje tak, že si urobí zoznam jedinečných rozmerov, pričom 100x200 a 200x100 považuje za jeden rozmer. Ak totiž ide o nejaké naskladnenie či rezanie je to asi správne, ale ak ide o niečo iné tak to treba urobiť inak.
No a potom sa tieto kombinácie hľadajú cez COUNTIFS prípadne SUM/SUMA (podľa toho či sú rozmery rovnaké alebo nie).
Upresnite čo je treba. Keď prídem, možno na to ešte mrknem.
Čistý tip, skúste nahradiť to IE.Quit za toto:
If IE.LocationName = "neviem čo" Then IE.Quit: Exit For
Vložte sem prílohu, alebo mi ju pošlite na mail. Na červeno vyfarbite bunky, ktoré sa majú zväčšovať.
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.