Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  78 79 80 81 82 83 84 85 86   další » ... 298

Prípadne o kúsok kratší:
=LOOKUP(B2;OFFSET(Ceník!$B$1:$H$1;MATCH(A2;Ceník!$A$2:$A$8;0););Ceník!$B$1:$H$1)
=VYHLEDAT(B2;POSUN(Ceník!$B$1:$H$1;POZVYHLEDAT(A2;Ceník!$A$2:$A$8;0););Ceník!$B$1:$H$1)

Ja neviem chlapi. Napadlo ma takéto UDF. Vyznačil som tam jednu chybu, ktorú neviem eliminovať. Skúste:
Public Function GET_ANIMALS(Text As String, Mesto As String) As String
Dim S() As String, C() As String, i As Long, x As Long, PocetC As Long, PocetS As Long, bValidA As Boolean

S = Split(WorksheetFunction.Trim(Text), WorksheetFunction.Trim(Mesto) & ": ")
If UBound(S) = 0 Then Exit Function
S = Split(Split(S(1), ": ")(0), " a ")
PocetS = -1

For i = 0 To UBound(S)
C = Split(S(i), " ")
PocetC = -1
bValidA = False

For x = 0 To UBound(C) Step 2
If x + 1 <= UBound(C) Then
bValidA = (IsNumeric(Left(C(x), 1)) And Not IsNumeric(Left(C(x + 1), 1))) Or (Not IsNumeric(Left(C(x), 1)) And IsNumeric(Left(C(x + 1), 1)))
Else
bValidA = False
End If

If bValidA Then
PocetC = x + 1
Else
If PocetC = -1 Then PocetC = 0
Exit For
End If
Next x

If PocetC > -1 Then
ReDim Preserve C(PocetC)
S(i) = Join(C, " ")
PocetS = PocetS + 1
Else
Exit For
End If
Next i

If PocetS > -1 Then
ReDim Preserve S(PocetS)
GET_ANIMALS = Join(S, " a ")
End If
End Function

To ja som opačne. Kedysi čierne kučery, dnes rovný sivovlas 5
No a tie data - čumím na to ako Ďuro do makových slížov, a nevidím žiadnu "schému", ktorá by sa dala spoľahlivo dešifrovať. Rozdeliť cez ":" nie je prob. Ten nastane keď nevieme od seba rozlíšiť 2 druhy ostatných údajov. Ani medzerou, ani číslom, ani číslom spolu s "x" (raz pred, raz za), ani veľké/malé písmeno, nič... 7

Pozrite na prílohu. Také jednoduché to nieje. Môže nastať viac situácií, na ktoré treba pri tom PF myslieť. Napr. je to prvý mesiac (žiadny mu nepredchádza), nejaký mu predchádza, prenáša sa nejaký počet dní alebo žiadne, COUNTIF na OFFSET treba podmieniť, a OFFSET treba ošetriť kvôli chybám, a prípadnej nesprávnej oblasti. Bolo potrebné riešiť CZ názvy listov. Zobrazujú sa iba korektné dni daného mesiaca. Urobil som Vám aj sviatky. Hrubá čiarka pred "T" bežne cez PF nejde. A pod...

Takto???
=7-(EOMONTH($A$1;0)-LOOKUP(2;1/(D3:AH3="T");$D$2:$AH$2)+1)
=7-(EOMONTH($A$1;0)-VYHLEDAT(2;1/(D3:AH3="T");$D$2:$AH$2)+1)


Prípadne celé takto, v prílohe.

pr.:
Sub ColoringText()
Dim myRange As Range, D()
Dim substr As String, endstr As String
Dim txtColor As Long, x As Long, y As Long, Pos As Long, endPos As Long, startPos As Long, LenEndStr As Long

Set myRange = Worksheets("Hárok1").Range("A1:A100")
If myRange.Cells.Count > 1 Then D = myRange.Value Else ReDim D(1, 1): D(1, 1) = myRange.Value

substr = "Nezapsané prostoje-"
endstr = "min"
txtColor = 3
LenEndStr = Len(endstr)

For y = 1 To UBound(D, 1)
For x = 1 To UBound(D, 2)
Pos = 1
Do
startPos = InStr(Pos, D(y, x), substr, vbTextCompare)
If startPos <> 0 Then
endPos = InStr(startPos, D(y, x), endstr, vbTextCompare)
If endPos <> 0 Then
myRange.Cells(y, x).Characters(Start:=startPos, Length:=endPos - startPos + LenEndStr).Font.ColorIndex = txtColor
Pos = endPos + LenEndStr
End If
End If
Loop Until startPos = 0 Or endPos = 0
Next x
Next y
End Sub

@ Jiří497 : Tiež ste si všimol, že jedna veta je po slovensky a druhá po česky? 5

Skúste toto. Neodlaďoval som, ale ak je to na prvú správne, tak neverím, že to bude trvať dlhšie ako 0,5 sek.
Sub DelDup2()
Dim D(), V(), R As Long, RV As Long, i As Long, s As Long, Col As New Collection, Kopiruj As Boolean

With List1
R = .Cells(Rows.Count, 1).End(xlUp).Row - 1
If R = 0 Then MsgBox "No data!", vbExclamation: Exit Sub
D = .Range("A2:Z2").Resize(R).Value
ReDim V(1 To R, 1 To 26)
End With

For i = 1 To R
If IsNumeric(D(i, 9)) Then
On Error Resume Next
Col.Add RV + 1, CStr(D(i, 9))
Kopiruj = Err.Number = 0
On Error GoTo 0
Else
Kopiruj = True
End If

If Kopiruj Then
RV = RV + 1
For s = 1 To 26
V(RV, s) = D(i, s)
Next s
Else
s = Col(CStr(D(i, 9)))
V(s, 6) = V(s, 6) + D(i, 6)
End If
Next i

With List2
Intersect(.Range("A:Z"), .UsedRange.Offset(1, 0).EntireRow).ClearContents
.Cells(2, 1).Resize(R, 26).Value = V
End With
End Sub

Čo je to za program? Priznám sa, že mne sa konkrétne toto skúmať nechce, ale ak by sa niekomu chcelo, info o programe mu určo bodne 1

Skúste pohľadať niečo ako "Java Portable". Napr. tento prvý odkaz na Google.

A na čí príspevok reagujete? Ktorá verzia Vám nejde? Mne idú obidve. A "nejde" znamená čo? Vypíše nejakú chybu? Nepripočíta? Pripočíta zle? ...
Najskôr je to "HP20210012" potom "HP202100120". Logicky sa to má meniť predsa na "HP20210013", nie? Čo tá pridaná "0" na konci? Koľko tam má byť teda tých čísel okrem roku 2021?
Sub Mazání()
Dim JmenoS As String
With Sheets("Doklad")
JmenoS = .Range("Y3")
If MsgBox("Chceš údaje z Dokladu " & JmenoS & " smazat ?", vbYesNo) = vbYes Then
.Range("BN2").ClearContents
.Range("Y3") = Left$(JmenoS, Len(JmenoS) - 8) & Right$(JmenoS, 8) + 1
End If
End With
End Sub

Bez prebliknutia, a je jedno čo je pred číslom.
Sub test2()
Dim Hodnota As String
Dim Bunka As Range
Set Bunka = Worksheets("Pokladní doklad").Range("B2")

Hodnota = Bunka
Bunka = Left$(Hodnota, Len(Hodnota) - 8) & Right$(Hodnota, 8) + 1
End Sub

V GF je výpočet hodín, koľko to bude trvať. A vo vzorci je pripočítaný aj čas na C. Z toho vylezie číslo 48. Ale to je už aj s tým C. Takže nie 48xP. Prečo je v tabuľke 48xP a následne 2xC, keď to číslo 48 už ráta aj s C? Chápem to správne???

EDIT:
A ešte "drobnosť". V GF Vám nevychádzajú celé hodiny. Je to desatinné číslo. Vy ste iba desatiny skryli formátom. Ale Excel, aj prípadné vzorce ktoré budú zobrazovať P C M, rátajú so skutočnou hodnotou - desatinami. Takže kam sa to má zaokrúhľovať? Ak chcete zobrazovať celé hodiny, nemôžete rátať s desatinami hodiny, lebo by vychádzalo, že v danú hodinu ste končili 1 projekt ale začali zároveň aj 2.

EDIT2:
Príklad. Ale je tam problém so zaokrúhľovaním. Musia sa samostatne zaokrúhľovať hodiny P a hodiny C, a následne zaokrúhlené zrátať. Čím môže vznikať nepresnosť. No takto by sa to dalo navzorcovať.

Tak si do oblastí pridajte ešte F62 a F64. Bez makra by sa dalo použiť riešenie, že na druhom liste budete mať rovnakú tabuľku, hodnoty navzorcované z pôvodného listu. Okrem inkriminovaných. A tlačiť budete ten druhý list.

Máte to naozaj premyslené ?
P sa zapisuje aj keď je Type S?
V celom stĺpci sa vždy nachádza iba jediná zaplnená bunka? Teda vždy sa pracuje výhradne na jednom Project?
Ak to má byť vzorcom, a je tam viac Project rovnakého Type, ako sa dá určiť v ktorom riadku sa má to P vypĺňať? Dátum tam totiž nieje. Takže to čo je skôr?
Prečo je medzi M-kami jedno N?
Koľko C sa má dopĺňať? Over Charger je 120 a doplnené sú 2 C, takže deleno 60 ?
Podľa kalkulovaného času - to znamená čo? 48xP v 9.riadku zodpovedá ktorej hodnote?
...
Celej tbl žiaľ nerozumiem, snáď niekto...


Strana:  1 ... « předchozí  78 79 80 81 82 83 84 85 86   další » ... 298

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