01. november 2010 - 11:06Der er
6 kommentarer og 1 løsning
Automatisere indsætning af rækker indeholdende rullelister, formler og referencer via knap
I en regnebog har jeg oprettet et ark til beregning af pris på vores produkter. Produkterne kan have varierende bredde, længde og tilbehør. Priser på disse hentes via rulle lister, Lopslag og hvis formler fra min prisliste. Jeg bruger det først omtalte ark som økonomisk overblik i mit tilbudsmateriale (word dokument). Jeg har tre forskellige produkt typer og dermed tre forskellige grafiske opstillinger. Typisk indeholder mine projekter adskillige positioner, som alle skal prissættes. For nuværende kopierer jeg de relevante rækker og indsætter dem hvor jeg skal bruge dem. Er det muligt at lave tre knapper, en til hver af mine tre produkttyper, sådan at når man trykker på denne knap, vil den automatisk indsætter de nødvendige rækker for en given produkttype?
Dim antalRækker As Long Dim totalStartRække As Long Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If Range("B" & ActiveCell.Row) = "" Then indsætProdukt "P1", ActiveCell.Row Else Message_1 End If End Sub Private Sub CommandButton2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If Range("B" & ActiveCell.Row) = "" Then indsætProdukt "P2", ActiveCell.Row Else Message_1 End If End Sub Private Sub CommandButton3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If Range("B" & ActiveCell.Row) = "" Then indsætProdukt "P3", ActiveCell.Row Else Message_1 End If End Sub Private Sub CommandButton1_Click() hentProduktKalk "P1" End Sub Private Sub CommandButton2_Click() hentProduktKalk "P2" End Sub Private Sub CommandButton3_Click() hentProduktKalk "P3" End Sub Private Sub hentProduktKalk(produkt) antalRækker = ActiveCell.SpecialCells(xlLastCell).Row
indsætProdukt produkt, ledigRække End Sub Private Function findLedigRække(sidsteRække) For ræk = sidsteRække To 1 Step -1 If Range("B" & ræk) = "" Then findLedigRække = ræk Exit Function End If Next ræk End Function Private Function findTotalRække(tekst) With ActiveSheet.Range("B4:B" & antalRækker) Set c = .Find(tekst, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then findTotalRække = c.Row Else findTotalRække = 0 End If End With End Function Private Sub indsætProdukt(produktType, række) Dim antalRæk As Long, antalKol As Long ActiveWorkbook.Sheets(produktType).Select antalRæk = ActiveCell.SpecialCells(xlLastCell).Row antalKol = ActiveCell.SpecialCells(xlLastCell).Column
Nej ingen points endnu - du skal accepter mit svar i #3 - så sker det.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.