Příspěvky uživatele


< návrat zpět

Milan-158 - ĎAkujem za pomoc a pevné nervy viem že to bolo so mnou ťažké ale nakoniec sa to podarilo :) už to ide tak ako som chcel a k tej verzií 4 nejakým nedopatrením sa mi uložila do stiahnutých súborov a nevsimol som si to a stále som sa pohyboval v tej verzií 3 za čo sa ospravedlňujem že som mrhal tvojim časom

Ďakujem cenním si toho že sa nájdu ľudia, ktorý pomôžu a majú pevné nervy pri prípadoch ako som ja

Ak zadám ID do txtID tak mi nájde požadovaný záznam

riešil som to cez txtID_Change()

pri zmene textboxu txtID vyhladá záznam s požadovaným ID

poslal som verziu, ktorú si mi poslal ty. ja si to skusam dat do toho mojho teraz som tam implementoval tú zálohu ale nedal som to na samostatné tlacidlo ale pridal som funkciu do tlacidla ulozit zmenu... funguje mi to je to super :)

ĎAKUJEM ZA POMOC

ešte malá otázka .... ak by som chcel hladať ID nie podla ActiveCell ale zadaním hodnoty do ID a podla hodnoty ID mi najde udaje viem ako by som to urobil ked je TextBox pomenovaný textbox ale teraz ked idem podla teba a premenoval som si vsetky TF a CB tak som stále neúspesný

vedel by si mi poradit? - teoreticky presne tak ako som to mal v tom prvotnom excely co som sem postoval (50903_vba.zip)

Ďakujem za pomoc

Už to behá presne tak jak sme si to predstavoval ale ešte jedna vec

jak urobím zálohu dat
- v Hárok 1 -> ID 1 (zmena dátumu od a do)
- v Hárok 2 -> najde volné ID a prekopíruje stlpec B,C,D,E,F - s pôvodným dátumom vid v priloženom excely

-- ĎAKUJEM ZA PEVNÉ NERVY

Mám otázku, ak si načítam na textboxu jednotlivé bunky a zmenim datum napríklad prečo mi to neuloží iba vygeneruje ID
ale to čo tam je v textboxoch neuloží ale ak tam všetko pracne vyypíšem tak sa to uloží :D
je možné že ak ručne zmením ID že sa mi vymažú premenné ?

Update: už mi to zapisuje :)
Ďakujem

Takže ešte tam mám chybu lebo už mi vloží vygenerované ID ale nevloží ostatné TextBoxy :D
takže skoro úspech ešte musím zistit kde je chyba a potom skusim spravit upravu :) a potom skusim dorobit ukladanie do hárku 2

zatim dakujem za pomoc :) isto ju ešte budem potrebovat :D

táto tretia verzia mi trochu blbne resp neuklada mi to... dnes som mal málo času kedže si to prepisujem resp snažím sa pochopit a prepisujem to do svojich podmienok tak trochu mi to trvá ale verím že na to prídem

Ďakujem za ochotu :) viem že mi to trvá bohužial pracujem ako servisný technik vyhradených technických zariadení tak času na ďalšie vzelávanie mám málo ale snažím sa :)

preto si cením každej pomoci a dakujem za trpezlivost :D

Ďakujem za pomoc

tým predtým než sa prepíše bunka som myslel že ak načítam napr ID 5 zobrazí sa mi v userform1 obsah toho ID a zobrazí sa mi možnosť úpravy ak upravím niektorú bunku konkrétne dobu platnosti osvedčenia tak pôvodné data ktoré boli zapísane sa mi prekopírujú do Hárok 2
Príklad
(Pôvodné data v bunkách)
ID Druh dokumentu Obsah Platnosť od Platnosť do
1 Certifikát Certima ..... 20.6.2019 20.6.2024

Ak upravím

ID Druh dokumentu Obsah Platnosť od Platnosť do
1 Certifikát Certima ..... 20.6.2024 20.6.2029

tak pôvodné data sa mi uložia na prvý volný riadok v Hárok2
a upravené data nahradia data v Hárok1

Zdravím,

mám dotaz mam userform kde si načítam data podla ID

moja otáka znie

ako si uložím do Hárok2 data ešte pred prepísaním ?

skúšal som ale nejde mi to ani trochu

Aktuálny kód čo sa mi podarilo naprogramovať aj s vašou pomocou a zatial mi to funguje

ĎAKUJEM za pomoc

Private Sub CommandButton1_Click()
Dim PoslednyRiadok As Integer


If id < koniec Then
CommandButton1.Visible = True
End If

Pridaj
End Sub

Private Sub CommandButton2_Click()
Vymaz
End Sub

Sub Vymaz()

For j = 1 To 6
UserForm1.Controls("TextBox" & j).Value = ""
Next j

End Sub

Private Sub CommandButton3_Click()
Unload Me
End Sub

Sub Pridaj()

End Sub

Sub Uprav()

'Jedná sa mi o tuto funkciu<- ak kliknem na tlacidlo uprav musí mi zapísať data riadka xy a stlpca 2-6 z Hárok1 do hárok 2 a automaticky priradiť ID v Hárok
do stĺpca 1 a upravit bunky 2-6 v Hárok1

End Sub

Private Sub CommandButton4_Click()
Dim koniec As Integer

koniec = Sheets("Hárok1").Cells(Rows.Count, "A").End(xlUp).Row
UserForm1.TextBox1.Value = koniec - 1
MsgBox "Posledné volné ID je " & koniec - 1
UserForm1.TextBox2.Value = ""
UserForm1.TextBox3.Value = ""
UserForm1.TextBox4.Value = ""
UserForm1.TextBox5.Value = ""
UserForm1.TextBox6.Value = ""

End Sub

Private Sub Label6_Click()

End Sub

Private Sub TextBox1_Change()

Dim id As Integer, i As Integer, j As Integer, k As Integer, l As Integer
Dim koniec As Integer

TextBox4.MultiLine = True
koniec = Sheets("Hárok1").Cells(Rows.Count, "A").End(xlUp).Row

If IsNumeric(UserForm1.TextBox1.Value) Then

i = 1
id = UserForm1.TextBox1.Value




Do While Sheets("Hárok1").Cells(i, 1).Value <> ""

If Sheets("Hárok1").Cells(i, 1).Value = id Then
For j = 2 To 6
UserForm1.Controls("TextBox" & j).Value = Cells(i, j).Value


Next j

End If

i = i + 1

Loop



End If

If koniec < id Then
CommandButton5.Visible = False
CommandButton1.Visible = True
UserForm1.TextBox2.Value = ""
UserForm1.TextBox3.Value = ""
UserForm1.TextBox4.Value = ""
UserForm1.TextBox5.Value = ""
UserForm1.TextBox6.Value = ""

Else

CommandButton1.Visible = False
CommandButton5.Visible = True


End If

End Sub

už to behá Ďakujem

Jiří497 napsal/a:

Vytvořit proceduru:
Private Sub TextBox1_Change()
V proceduře pak:
1. zjistím si nejvyšší ID (ve vašem případě 50)
2. pokud je UserForm1.TextBox1.Value větší než nejvyšší ID tak UserForm1.TextBox1.Value = ""

Jinak v tom přiloženém makru máte zřejmě chybu. Nejdřív naplníte proměnnou PoslednyRadek a následně použijete v cyklu proměnnou emptyRow For i = 1 To emptyRow Myslím, že ten cyklus vůbec neproběhne, protože emptyRow je nula (pokud se tedy nejedná o globální proměnnou)

Zdravím,

špekulujem ako na jednu záludnú vec
mám ID od 1-50 ak zadám 51 tak mi ostanú načítané údaje z ID 5 ako by som mohol ošetriť problém ak zadám ID vacsie ako je v tabulke aby mi obsah vymazalo ?

Ďakujem

Sub PridajUprav()
Dim id As Integer, i As Integer, j As Integer,
Dim PoslednyRiadok As Long

If UserForm1.TextBox1.Value <> "" Then

id = UserForm1.TextBox1.Value
PoslednyRiadok = WorksheetFunction.CountA(Range("A:A"))
i = 0


For i = 1 To emptyRow

If Cells(i + 1, 1).Value = id Then
For j = 2 To 6
Cells(i + 1, j).Value = UserForm1.Controls("TextBox" & j).Value
Next j


End If

Next i




For j = 1 To 6
Cells(PoslednyRiadok + 1, j).Value = UserForm1.Controls("TextBox" & j).Value
Next j


End If

End If

End Sub

elninoslov napsal/a:

Pr. načítania oblasti buniek do poľa:
Sub Kontrola_hodnoty()
Dim Pole(), Riadkov As Long, i As Long, MSG As String

With Worksheets("Hárok1")
Riadkov = .Cells(Rows.Count, "A").End(xlUp).Row - 1
If Riadkov = 0 Then MsgBox "Chábajú data.", vbExclamation: Exit Sub
Pole = .Range("A2:F2").Resize(Riadkov).Value
End With

For i = 1 To Riadkov
If Pole(i, 6) < 90 Then
MSG = MSG & vbNewLine & Join(Array(Pole(i, 1), Pole(i, 2), Pole(i, 3), Pole(i, 4), Pole(i, 5), Pole(i, 6)), " / ")
End If
Next i

MsgBox IIf(MSG = "", "všetko OK", "Tieto hodnoty sú pod limitom <=90" & MSG), IIf(MSG = "", vbInformation, vbCritical)
End SubPříloha: 50488_hodnoty_buniek_do_pola.zip (17kB, staženo 2x)


Ďakujem veľmi pekne za pomoc je to presne čo som chcel ešte upravím formát F st=lpca aby sa mi to neukazovalo ako 52,852025 a bude to fungovať presne ako som chcel ĎAKUJEM ešte raz

Zdravím,

som samouk a rád by som sa naučil lepšie pracovať s VBA
ale narazil som na prekážku

ak mám viacrozmerné pole ktoré viem že má

Pole(a,b,c)
ako nažítam jednotlivé bunky do pola ?
nepoznám počet riadkov ktoré sú zaplnené
ale viem že
do pola a(String) naťahujem bunky z A stĺpca do pola b(String) taťahujem B stĺpec a do c(Integer) naťahujem F stĺpec

do MsgBoxu chcem vypísať len tie "riadky" kde má F hodnotu menšiu ako 90

Ďakujem za pomoc


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