< návrat zpět

MS Excel


Téma: Vstupní formulář rss

Zaslal/a 16.4.2010 11:00

Ahoj, nemohl by mi někdo poradit s banálním problémem?
Mám v excelu vytvořený seznam zákazníků, a formulář pro zadání nových.
Nevím jak pomocí makra zajistit, aby při zadání údajů do formuláře(ještě před tím než se přesunou data do tabulky) zkontrolovalo zda se již (třeba IČ) v tabulce neobjevuje.Myslím si, že toto téma se asi tady probíralo, ale nemohu najít konkrétní odpověď.(vzhledem k tomu, že data jsou zapsána zatím pouze ve formuláři)
Formulář je vlastní výroba. Pole pro zadání IČ má název "TextIco".
Děkuji za odpověď

Zaslat odpověď >

Strana:  1 2   další »
icon #001482
Poki
Zdravim,
kdybys prilozil ukazku, podival bych se na to...citovat
#001487
avatar
Ahoj POKI. Soubor je součástí rozsáhlejší součástí, které nelze odeslat. Doufám, že bude stačit alespoň kód.

Private Sub CommandButton1_Click()
Dim DalsiRadek As Long

'Test zda je aktivní list Firmy
Sheets("Firmy").Activate

' Určení prvního prázdného řádku
DalsiRadek = Application.WorksheetFunction.CountA(Range("A:A")) + 1

' Poviné údaje, které musí být zadány
If TextIco = "" Then
MsgBox "Musíte zadat IČO"
Exit Sub
End If
If TextDic = "" Then
MsgBox "Musíte zadat DIČ"
Exit Sub
End If
If TextFNazev = "" Then
MsgBox "Musíte zadat název Firmy"
Exit Sub
End If
If TextFAdresa = "" Then
MsgBox "Musíte zadat Fakturační adresu"
Exit Sub
End If
If TextFMesto = "" Then
MsgBox "Musíte zadat Fakturační Město"
Exit Sub
End If
If TextFPsc = "" Then
MsgBox "Musíte zadat Fakturační PSČ"
Exit Sub
End If
If TextZapis = "" Then
MsgBox "Musíte zadat (Zapsán )"
Exit Sub
End If


' Zápis dat do buňky
If Not Worksheets("Firmy").Cells(Application.WorksheetFunction.CountA(Worksheets("Firmy").Range("A:A"))) = TextIco.Value Then
Cells(DalsiRadek, 1) = TextIco.Text
Else
MsgBox "IČO již existuje"
Exit Sub
End If
Cells(DalsiRadek, 2) = TextDic.Text
Cells(DalsiRadek, 3) = TextFNazev.Text
Cells(DalsiRadek, 4) = TextFAdresa.Text
Cells(DalsiRadek, 5) = TextFMesto.Text
Cells(DalsiRadek, 6) = TextFPsc.Text
Cells(DalsiRadek, 7) = TextFMesto6p.Text
Cells(DalsiRadek, 8) = TextDAdresa.Text
Cells(DalsiRadek, 9) = TextDMesto.Text
Cells(DalsiRadek, 10) = TextDPsc.Text
Cells(DalsiRadek, 11) = TextDMesto6p.Text
Cells(DalsiRadek, 12) = TextZapis.Text
Cells(DalsiRadek, 13) = TextJmeno.Text
Cells(DalsiRadek, 14) = TextFunkce.Text
Cells(DalsiRadek, 15) = TextOsloveni.Text
Cells(DalsiRadek, 16) = TextBucet.Text
Cells(DalsiRadek, 17) = TextTel.Text
Cells(DalsiRadek, 18) = TextFax.Text

'Vymazání pro další zadání

End Sub

Private Sub CommandButton2_Click()
' Ukončí Formulář Přidat Firmu
Unload UserPridatFirmu
End Sub

Děkuji za ochotu.citovat
icon #001489
Poki
No tak jenom kod neni moc idealni, ale prijde mi, ze tam kontrolu na existujici ICO uz mas (aspon teda na poseldnim zapsanym zaznamu - da se zkontrolovat vse pomoci cyklu...)
Co teda vlasnte potrebujes?citovat
#001491
avatar
Ahoj, máš pravdu je to
If Not Worksheets("Firmy").Cells(Application.WorksheetFunction.CountA(Worksheets("Firmy").Range("A:A"))) = TextIco.Value Then
Cells(DalsiRadek, 1) = TextIco.Text
Else
MsgBox "IČO již existuje"
Exit Sub

ale je nějaký nefunkční.
Testoval jsem to i na poslední řádek a nic. Jinak bych potřeboval zkontrolovat celý seznam (tak, že cyklem). Nemohl by jsi mi pomoc?

Děkujicitovat
icon #001492
Poki
Podivat se na to muzu, ale jde to dost tezko bez moznosti otestovani, takze bych fakt potreboval ten soubor, kde je formular a seznam pro ulozeni dat...citovat
#001495
avatar
Ahoj POKI,
Tak jsem na rychlo vytvořil Testovací sešit s formulářem.
Předem děkuji za pomoc.
Michal
Příloha: zip1495_seznamfiremtest.zip (23kB, staženo 33x)
citovat
icon #001499
Poki
co takhle?
Příloha: zip1499_seznamfiremtest.zip (25kB, staženo 43x)
citovat
#001504
avatar
Tak to je opravdu SUPER.
Jsi vážně dobrej. Děkuji Moc.citovat
#001505
avatar
POKI mám jenom malý dotaz:
V cyklu For i = 3 co znamená ta 3, proč tam je zrovna 3. Promiň za tu otázku teprve trénuju začátky.citovat
icon #001506
Poki
I = 3 znamená, že cyklus začíná v bunce, A3 [cells(i,1) znamená: bunka i-tý řádek a 1. sloupec].
Tvoje data, ktera potrebujes porovnat jsou az do 3. radku.. tot vsecitovat

Strana:  1 2   další »

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