kunde

kunde profiilikuva
Joulu 2024
Vapaa kuvaus

Isaan Rules WFF CCC If you walked away smiling-then for you the price was right Keep Exceling Suosikkibändit/artistit: Queen, Rammstein, genesis, Bruce Bringsteen, Kino, Mandref Mann Earth band Who Lempikirjat: ohjelmointi... Suosikkipalstat Suomi24 Keskusteluissa: EXCEL, Kivitalot, EPS En pidä: pakkanen ja loskakelit Ruoka & juoma: loimulohi ja valkkari Linkit: http://www.kundepuu.com, Khorat Koulutus: --- Ammatti: Tiede/teknologia Työskentelen: freelancer Ase tai siviilipalvelus: yliluutnantti Siviilisääty: Varattu Lapset: --- Hakusanat: Thaimaa, korat, Excel, VBA, ACAD, CNC, Polyurea, EPS, MgO elementti

Liittynyt 19v sitten
7 aloitusta · 1377 kommenttia
laita otsikot
A1=ryhmä B1=nimi D1=ryhmä
A4=ryhmä B4=ryhmä

solusta A5 alkaen dataa

soluun D2 kelpoisuusehto a,b,c
soluun A2 kaava =D2

taulukon moduuliin...

Private Sub Worksheet_Calculate()
Dim vika As Integer
On Error GoTo virhe:
Application.EnableEvents = False
vika = Range("D65536").End(xlUp).Row
Range("D4:E" & vika) = ""

vika = Range("A65536").End(xlUp).Row

Range("A4:B" & vika).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:B2"), CopyToRange:=Range("D4"), Unique:=False

virhe:
Application.EnableEvents = True
End Sub
tällä nyt vaikka alkuun

solu A10 teksti päiväys
solu b 10 teksti summa

maalaa solut A10 ja B10 ja kaavaruutuun kirjoitat tietokanta ja ENTER. Nyt pitäisi olla nimetty alue tietokanta
samoin tee esim.

solu H1 teksti lakun pvm
solu I1 teksti laskun summa

maalaa solut H2 ja I2 ja kaavaruutuun kirjoitat syöttöalue ja ENTER. Nyt pitäisi olla nimetty alue syöttöalue.

Jos ei onnistu noin niin tee lisäämällä nimi valikon kautta

lisää nappi yläriville (ennen riviä 10) ja liitä siihen makro UusiLasku

moduuliin...

Option Explicit
Sub UusiLasku()
Dim Rivi As Long
On Error GoTo virhe
If Range("Syöttö").Cells(1, 1) = "" Or _
Not OnkoPäiväys(Range("Syöttö").Cells(1, 1)) Then
Range("Syöttö").Cells(1, 1).Select
MsgBox "Anna päiväys! esim 12.2.2006 tai 12/6/2006", vbInformation
Exit Sub
End If
If Range("Syöttö").Cells(1, 2) = "" Or _
Not IsNumeric(Range("Syöttö").Cells(1, 2)) Then
Range("Syöttö").Cells(1, 2).Select
MsgBox "Anna summa!", vbInformation
Exit Sub
End If
With Range("Tietokanta") ' itse määritelty alue
Rivi = .Rows.Count + 1 'lisätään tietokantaan rivi
Range("Syöttö").Copy Destination:=.Cells(Rivi, 1) ' kopioidaan tiedot
.Resize(Rivi).Name = "Tietokanta" ' päivitetään tietokanta lisäyksen jälkeen
End With
Range("Tietokanta").Offset(Range("Tietokanta").Rows.Count) = ""
Range("A10").Offset(Range("Tietokanta").Rows.Count + 2, 0) = Range("Syöttö").Cells(1, 1)
Range("B10").Offset(Range("Tietokanta").Rows.Count + 2, 0).FormulaLocal = "=SUMMA(B10:B" & Range("Tietokanta").Rows(2).End(xlDown).Row & ")"
Range("Syöttö") = "" 'tyhjennetään syöttöalue
virhe:
End Sub

Function OnkoPäiväys(Pvm As String) As Boolean
Dim Päiväys As Date
On Error GoTo virhe
Päiväys = DateValue(Range("Syöttö").Cells(1, 1))
OnkoPäiväys = True
Exit Function
virhe:
OnkoPäiväys = False
End Function

nyt laskee automaattisesti summan yhden tyhjän rivin päähän viimeisestä laskusta( koska helpompi käsitellä asioita näin)
Voit aivan vapaasti poistaa rivejä välistä tai lopusta ja silti ohjelma toimii oikein!
Arvot syötetään H2 ja I2 ja sen jälkeen klikkaat nappia.
Lisäsin vielä tarkistukset tyhjille arvoille sekä tarkistukset, että on päiväys sekä luku
:-)