< návrat zpět

MS Excel


Téma: Práce s položkami v seznamu rss

Zaslal/a 18.8.2014 14:39

Zdravím, chtěl bych vás poprosit o pomoc.
Tvořím jakýsi obchodní deník. Jedno tlačítko "Zadat nový obchod" přidá uživatelem vyplněné detaily obchodu do Přehledu obchodů. Potřebuju vymyslet, aby se s položkami v tomto přehledu dalo "individuálně nakládat". Abych např. jeden (nákupní) obchod mohl spárovat s (prodejním) obchodem a řekněme v řádku prodejního (je to jedno) obchodu napsalo výsledek obchodu, jestli zisk, ztráta atd.
Přidávám ukázku. Tlačítko "Spárovat obchod" v List3, řešeno přes RefEdit, uživatel vybere konkrétní obchody. Dokonce se mi podaří vybrané bunky obarvit 4 ..
Nevim, jestli je tomu rozumět. Prostě nějaký takový kód:

po kliknutí na tlačítko dělej
.obarvi vybranou bunku
.na konci řádku, ve kterém je vybraná bunka, třeba natvrdo sloupec I = přidej výsledek mezi prodejem a nákupem

a tuto techniku bych pak využil i pro výmaz obchodu. Tlačítko "Smaž obchod", zase form, zase RefEdit, uživatel zase vybere jednu bunku, stiskne Vymazat a vymaže se celý řádek.

Omlouvám se za takový popis, snad je tomu rozumět. Moc díky

Příloha: zip21198_obchodni-denik-1.1.zip (70kB, staženo 16x)
Zaslat odpověď >

#021209
avatar
Tak jsem na to přišel. Kdyby to někdo potřeboval:

Private Sub cmdSparovat_Click()
Dim selRange As Range
Dim vysledek As Double

koupit = REkoupit.Value
prodat = REprodat.Value
vysledek = Range(prodat) - Range(koupit)

If koupit = "" Then
i = MsgBox("Zadáváte odkaz na špatnou buňku. Bez obsahu!", vbOKOnly + vbCritical, "Spárovat obchod")

Else

Range("AA1") = Range(koupit).Value
Set selRange = Range(koupit)
selRange.Interior.ColorIndex = 19 'pouze obarví uživatelem vybranou bunku
selRange.End(xlToRight).Activate 'aktivuje 1. bunku napravo od vybrané
ActiveCell.Interior.ColorIndex = 19
ActiveCell = "Spárováno"

End If

If prodat = "" Then
i = MsgBox("Zadáváte odkaz na špatnou buňku. Bez obsahu!", vbOKOnly + vbCritical, "Spárovat obchod")
Else
Range("AB1") = Range(prodat).Value
Set selRange = Range(prodat)
selRange.Interior.ColorIndex = 19
selRange.End(xlToRight).Activate
ActiveCell.Interior.ColorIndex = 19
If Range(prodat) - Range(koupit) > 0 Then
ActiveCell = "Zisk ve výši " & vysledek
ElseIf Range(prodat) - Range(koupit) < 0 Then
ActiveCell = "Ztráta ve výši " & vysledek
End If


End If

Unload Me

End Sub

Sice je to takový "odrbaný", protože vedle těch buněk musí být nějaké hodnoty, ale zatim mi to takto stačí.citovat
#021210
avatar
prave som nato pozeral a slo by to aj takto:
Private Sub cmdSparovat_Click()
Dim aKoupit As Range
Dim aProdat As Range

If REkoupit = "" And REprodat = "" Then
If REkoupit = "" Then MsgBox("Zadáváte odkaz na špatnou buòku. Bez obsahu!", vbOKOnly + vbCritical, "Spárovat obchod"): End
If REprodat = "" Then MsgBox("Zadáváte odkaz na špatnou buòku. Bez obsahu!", vbOKOnly + vbCritical, "Spárovat obchod"): End
Else
Set aKoupit = Range(REkoupit)
Set aProdat = Range(REprodat)

Rows(aKoupit.Row).Interior.ColorIndex = 19
Rows(aProdat.Row).Interior.ColorIndex = 19
Cells(aKoupit.Row, 10) = CDbl(Cells(aKoupit.Row, 8)) - CDbl(Cells(aKoupit.Row, 9))
Cells(aProdat.Row, 10) = CDbl(Cells(aKoupit.Row, 8)) - CDbl(Cells(aKoupit.Row, 9))
End If
Unload Me
End Sub
citovat

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