Ahoj všichni, chtěl bych požádat o pomoc s jedním makrem.
Přešel jsem na excel 2019 a při spuštění excelovského sešitu, který byl vytvořen v některé z nižších verzí mi to při aktivaci formuláře hlásí u funkce Right a mid chybu, že nebyla nalezena v knihovně nebo projektu.
níže je makro, které hlásí chybu a nemůžu přijít na to, co je špatně. Může mi někdo poradit?
Děkuji za případnou radu či pomoc
Private Sub datum_Change()
Dim Char As String
Dim x As Date
Dim y As Date
Char = Right(datum.Text, 1)
Select Case Len(datum.Text)
Case 1 To 2, 4 To 5, 7 To 10
If Char Like "#" Then
If Len(datum) = 10 Then
On Error Resume Next
x = DateValue(datum.Text)
y = DateSerial(Right(datum, 4), Mid(datum, 4, 2), Left(datum, 2))
If Err = 0 And x = y Then
On Error GoTo 0
Exit Sub
Else
Err.Clear
On Error GoTo 0
datum.SelStart = 0
datum.SelLength = Len(datum.Text)
MsgBox "Please enter a valid date in the form dd/mm/yyyy", vbCritical + vbOKOnly, "Error"
Exit Sub
End If
Else
Exit Sub
End If
End If
Case 3, 6
If Char Like "/" Then Exit Sub
End Select
Beep
On Error Resume Next
datum.Text = Left(datum.Text, Len(datum.Text) - 1)
datum.SelStart = Len(datum.Text)
End Sub
Ahojky,
jo to je přešně to co potřebuju. Otrocky bych musel otevřít každý soubor a opsat základní data. Souborů bude +- 500, v závislosti na tom jak se budou či nebudou nakupovat elektrické spotřebiče.
Ještě jednou děkuji
J.
Ahoj lidi, mám problém. Potřeboval bych vytvořit seznam obsahu buněk z různých souborů. Abych to upřesnil, mám adresář plný excelovských protokolů obsahující revizní zprávy a já bych potřeboval vygenerovat seznam názvů přístrojů ze všech souborů do jednohho seznamu.Názvy mají vždy stejné umístění. Myslíte, že je to možné?
Díky za vaše nápady
Zkoušel jsem to, ale výsledek byl neuspokojivý.
Potřebuji datum ve formátu dd/mm/yyyy a ať jsem dělal co jsem dělal, vždy se mi uložil ve tvaru dd.mm.yyyy :-(
Nakonec jsem se přiklonil k tomuto kódu
'Převod textu na datum
Range("V4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormat = "dd\/mm\/yyyy;@"
Range("V4:V10000").Select
Selection.NumberFormat = "dd\/mm\/yyyy;@"
Selection.TextToColumns Destination:=Range("V4"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
díky všem za ochotu
Mám trochu problém s tím, že někdy to funguje a někdy ne a netuchám, gdě ašybka slučilas :-(
ano, ta data jdou z textboxu v userform
ahoj všichni, abych nemusel klikat do bezvědomí "F2", "ENTER", pokusil jsem se použít násobení buněk ve sloupci číslem jedna. Funguje to, ale při velkém množství dat je to časově značně náročné. existuje nějaká jednodušší cesta převodu textového formátu na datum?
Zde je kód, který jsem použil
Range("B1").Select
Selection.Copy
Range("I4:I,K4:K,M4:M").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Selection.NumberFormat = "dd\/mm\/yyyy;@"
děkuji za pomoc
To je přesně ono, moc děkuji, já bych se s tím pekloval kdoví jak dlouho. Ještě jednou díky
Ahoj všichni, potřeboval bych poradit s vymyšlením vzorce nebo makra, které by mi postupně naplnilo tabulku prehled daty z tabulky evidence.
Díky za radu
Já su totiž úplná lama, ještě nad ránem jsem to rozchodil. Mám to totiž jako samostatné makro a nějak mi ušlo, že mi tam chyběl odkaz na formulář kam správně to combo patří. Mockrát děkuji za ochotu a Tvůj bezpochyby velmi drahocený čes a vyřešení mého problému. Díky
Nevím proč, ale nefunguje mi to :-(
Cmuchu, tys hotový eskamotér, díky, funguje to báječně a mám ještě jeden dotaz, je možné, aby se mi v comboboxu zobrazovaly záznamy dvou sloupců, ale zároveň, aby byla zachována funkčnost načítání vybraných záznamů?
chtěl jsem to vyřešit takhle, což mi sice načte dva sloupce, ale nenačte už ten zbytek dat :-(
UserForm4.Cx4.AddItem Sheets("evidence").Cells(r, 1)
'& " -- " & Sheets("evidence").Cells(r, 2)
Nechci nikomu cpát své rady, ale kdyby tento problém náhodou někdo řešil a nevěděl si rady, vyřešil jsem to nakonec takto:
Private Sub UserForm_Initialize()
Dim rok, mesic As Long
'použil jsem operátor "\" pro dělení s celočíselným výsledkem
rok = DateDiff("m", od, datum) \ 12
'a operátor (funkci)Mod pro zbytek po dělení
mesic = DateDiff("m", od, datum) Mod 12
'výsledkem je v mém případě téměř přesné určení odpracovaných roků a měsíců
roku = rok
mesicu = mesic
End Sub
Ahoj všichni, měl bych ještě jeden malý, ale zákeřný dotaz. Potřeboval bych poradit jak vytvořit podmínku v cyklu, aby mi při nenalezení žádného záznamu s příznakem "D" vyskočil msgbox. Jedná se o filtr v comboxu
Díky
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.