Trelkrok Skrevet 3. juli 2016 Del Skrevet 3. juli 2016 (endret) Hei igjen, trenger mere hjelp og tips angående forenkling i oppføring av ny kunde. Kom gjerne med tips om løsning eller sider på nett som jeg kan bruke Har lagt ved det jeg ønsker Opprette ny kunde.xlsx Endret 4. juli 2016 av Trelkrok Lenke til kommentar
Bigelk Skrevet 4. juli 2016 Del Skrevet 4. juli 2016 Hei. Jeg har aldri brukt et userform selv. Men hvis du googler ( excel vba userform ) er det mange fine tutorials der ute. Du kan jo ta en titt for å se om det kan være interessant for løsningen. Torbjørn Lenke til kommentar
Trelkrok Skrevet 4. juli 2016 Forfatter Del Skrevet 4. juli 2016 Hei. Jeg har aldri brukt et userform selv. Men hvis du googler ( excel vba userform ) er det mange fine tutorials der ute. Du kan jo ta en titt for å se om det kan være interessant for løsningen. Torbjø Hei igjen og takk for tips, føler jeg maser litt men er veldig morro med automatisering Har prøvd meg litt på dette men får en feil i makroen i userform Har du en løsning på denne, legger ved fil RA Kopi Test med kundesok.xlsx Lenke til kommentar
Trelkrok Skrevet 4. juli 2016 Forfatter Del Skrevet 4. juli 2016 (endret) Hei igjen, da har jeg kommet langt. (tror jeg) Jeg skulle gjerne hatt litt hjelp med ett par ting hvis noen gidder. Knappen "Opprette ny kunde) vil jeg ha i fanen "Pakkseddler" men resultatet skal komme i fanen "Kunderegister" Sånn det er nå som kommer resultatet i den fanen knappen er Skulle også hatt med en forsikring om at ikke kunden ligger inne fra før Er det ellers greit og bruke dette tror dere? Må lagres som Makroaktivert for og kjøre makroene men er INGEN skumle ting her På forhånd takk Hilsen en trelkrok som ikke gir seg OPPRETTE NY KUNDE 1.xlsx Endret 4. juli 2016 av Trelkrok Lenke til kommentar
Bigelk Skrevet 5. juli 2016 Del Skrevet 5. juli 2016 (endret) Hei. Trenger ikke være redd for å mase Det er et forum. Folk sitter her av egen fri vilje for å kunne hjelpe til. Du har sikkert en Vsj. av boken din som heter " Opprette Ny Kunde 1.xlsm " Hvis du lagrer en kopi av den og døper om den til " Opprette Ny Kunde 1.xlsm.txt " og laster opp den. Eller vis koden din her. Så kan man bare paste den inn i boka. Torbjørn Endret 5. juli 2016 av Bigelk 1 Lenke til kommentar
Trelkrok Skrevet 5. juli 2016 Forfatter Del Skrevet 5. juli 2016 Så bra Da er det jeg har her. Denne makroen ligger på den røde knappen "Opprette ny kunde" Sub openform2() OppretteNyKunde.Show OppretteNyKunde.TextBox1.SetFocus End Sub Denne ligger på CommandButton (Tøm skjema) Private Sub Avbryt_Click() TextBox1.Value = "" TextBox2.Value = "" TextBox3.Value = "" TextBox4.Value = "" TextBox5.Value = "" TextBox6.Value = "" TextBox7.Value = "" TextBox8.Value = "" TextBox9.Value = "" End Sub Denne ligger på CommandButton ("OK") Private Sub OK_Click() If Len(TextBox7.Text) <> 8 Then MsgBox "Telefonnummer skal inneholde 8 tall. Rett opp dette" Else eRow = Sheets("Kunderegister").Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Row Cells(eRow, 2) = TextBox1.Text Cells(eRow, 3) = TextBox2.Text Cells(eRow, 4) = TextBox3.Text Cells(eRow, 6) = TextBox4.Text Cells(eRow, 7) = TextBox5.Text Cells(eRow, 8) = TextBox6.Text Cells(eRow, 9) = TextBox7.Text Cells(eRow, 10) = TextBox8.Text Cells(eRow, 14) = TextBox9.Text End If End Sub Lenke til kommentar
Harald Staff Skrevet 5. juli 2016 Del Skrevet 5. juli 2016 Bare en liten detalj. Det er ikke uvanlig å legge inn telefonnumre med mellomrom i seg. Type 12 34 56 78, eller 912 34 567. Noen ganger også med landskode 0047 eller +47 foran seg. Så vær litt forsiktig med å avvise inntasting pga antall tegn, det skal ikke mer til for at en bruker hater et datasystem allerede ved førstegangs bruk. Men det er klart, er det bare i bruk av den ene som har laget det så går dette jo helt fint. Beste hilsen Harald Lenke til kommentar
Trelkrok Skrevet 5. juli 2016 Forfatter Del Skrevet 5. juli 2016 Bare en liten detalj. Det er ikke uvanlig å legge inn telefonnumre med mellomrom i seg. Type 12 34 56 78, eller 912 34 567. Noen ganger også med landskode 0047 eller +47 foran seg. Så vær litt forsiktig med å avvise inntasting pga antall tegn, det skal ikke mer til for at en bruker hater et datasystem allerede ved førstegangs bruk. Men det er klart, er det bare i bruk av den ene som har laget det så går dette jo helt fint. Beste hilsen Harald Hei Harald, sant som du sier, tar vekk den tenker jeg. Har du ellers en løsning på dette? Knappen "Opprette ny kunde) vil jeg ha i fanen "Pakkseddler" men resultatet skal komme i fanen "Kunderegister" Sånn det er nå som kommer resultatet i den fanen knappen er Skulle også hatt med en forsikring om at ikke kunden ligger inne fra før Er det ellers greit og bruke dette tror du? Lenke til kommentar
Trelkrok Skrevet 5. juli 2016 Forfatter Del Skrevet 5. juli 2016 Har løst spørsmål 1 Da mangler jeg bare litt hjelp for og hindre dobbeloppføring av kunder. Siste utkast er denne Private Sub Avbryt_Click() 'nullstille "Opprette ny kunde" TextBox1.Value = "" TextBox2.Value = "" TextBox3.Value = "" TextBox4.Value = "" TextBox5.Value = "" TextBox6.Value = "" TextBox7.Value = "" TextBox8.Value = "" TextBox9.Value = "" End Sub Private Sub OK_Click() 'sette inn opplysninger i kunderegister Sheets("Kunderegister").Select eRow = Sheets("Kunderegister").Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Row Cells(eRow, 2) = TextBox1.Text Cells(eRow, 3) = TextBox2.Text Cells(eRow, 4) = TextBox3.Text Cells(eRow, 6) = TextBox4.Text Cells(eRow, 7) = TextBox5.Text Cells(eRow, 8) = TextBox6.Text Cells(eRow, 9) = TextBox7.Text Cells(eRow, 10) = TextBox8.Text Cells(eRow, 14) = TextBox9.Text 'Sortere kunderegister Columns("C:C").Select ActiveWorkbook.Worksheets("Kunderegister").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Kunderegister").Sort.SortFields.Add Key:=Range("C2:C600") _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Kunderegister").Sort .SetRange Range("A1:AA600") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("C2").Select Sheets("Pakkseddel").Select Range("A3").Select End Sub Lenke til kommentar
Harald Staff Skrevet 5. juli 2016 Del Skrevet 5. juli 2016 Dette blir et litt generelt delsvar. Adressering. Denne Cells(eRow, 3) vil peke til det arket du står i. Hvis du gjør dette istedet Worksheets("Folk").Cells(eRow, 3) så trenger du ikke gå til arket Folk, du fjernstyrer, og du slipper select og activate og visuelle forstyrrelser av brukeropplevelsen. Og ytterligere Workbooks("Kunder.xlsm").Worksheets("Folk").Cells(eRow, 3) hvis ting ligger eller skal ligge i en annen arbeidsbok enn selve fila med programmeringskoden. Dette er seff litt sårbart for om noen gir ting et nytt navn. Det finnes omveier og feilsjekker der, vi tar ikke det nå. La meg nevne at hvis man skal adressere et ark i fila der programmeringskoden befinner seg, valgt eller ikke, så heter det ThisWorkbook: ThisWorkbook.Worksheets("Folk").Cells(eRow, 3) Sjekk av duplikater er en verre vitenskap. Med eller uten mellomnavn og/eller initialer, med og uten punktum, og med og uten avsluttende mellomrom, og høyde for skrivefeil. Det ligger en sånn jobb øverst i innkurven når jeg begynner å jobbe igjen på mandag. Usikker på hva jeg får til. Vet ikke om dette ga noe mening, men i alle fall Beste hilsen Harald Lenke til kommentar
Trelkrok Skrevet 5. juli 2016 Forfatter Del Skrevet 5. juli 2016 Dette blir et litt generelt delsvar. Adressering. Denne Cells(eRow, 3) vil peke til det arket du står i. Hvis du gjør dette istedet Worksheets("Folk").Cells(eRow, 3) så trenger du ikke gå til arket Folk, du fjernstyrer, og du slipper select og activate og visuelle forstyrrelser av brukeropplevelsen. Og ytterligere Workbooks("Kunder.xlsm").Worksheets("Folk").Cells(eRow, 3) hvis ting ligger eller skal ligge i en annen arbeidsbok enn selve fila med programmeringskoden. Dette er seff litt sårbart for om noen gir ting et nytt navn. Det finnes omveier og feilsjekker der, vi tar ikke det nå. La meg nevne at hvis man skal adressere et ark i fila der programmeringskoden befinner seg, valgt eller ikke, så heter det ThisWorkbook: ThisWorkbook.Worksheets("Folk").Cells(eRow, 3) Sjekk av duplikater er en verre vitenskap. Med eller uten mellomnavn og/eller initialer, med og uten punktum, og med og uten avsluttende mellomrom, og høyde for skrivefeil. Det ligger en sånn jobb øverst i innkurven når jeg begynner å jobbe igjen på mandag. Usikker på hva jeg får til. Vet ikke om dette ga noe mening, men i alle fall Beste hilsen Harald Tusen takk Dette er nyttige opplysninger for en amatør som jeg skal ta med meg videre. Lenke til kommentar
Bigelk Skrevet 8. juli 2016 Del Skrevet 8. juli 2016 (endret) Hei. I selve input av data er det jo mulig å manipulere strengen før makroen skriver inn cellen. Hvis brukeren skriver trelkrok i textboxen kan du få makroen til å skrive inn Trelkrok i cellen. samme med telefonnummer. hvis brukeren skriver inn 0047 998 87 766 i textboxen kan du makroen til å skrive inn 99887766. Da vil det være lettere å søke etter duplikater senere. Det vil ikke være "idiotsikkert" men vil gjøre det litt lettere å ha ryddig data. Et eksempel på Navn Sub First_Name() Dim firstName As String, howLong As Integer firstName = InputBox("navn") howLong = Len(firstName) ' teller lengden på navnet firstName = LCase(firstName) ' setter alle bokstaver til små bokstaver (hvis noen skriver f.eks. tRelkrok) firstName = UCase(Left(firstName, 1)) & Right(firstName, howLong - 1) ' setter første bokstav til stor bokstav MsgBox firstName End Sub Et eksempel på telefonnummer Sub Phone_Num() Dim PhoneNum As String PhoneNum = InputBox("Nummer") PhoneNum = Replace(PhoneNum, " ", "") ' fjerner alle mellomrom PhoneNum = Right(PhoneNum, 8) ' setter PhoneNum til å være 8 tall fra høyre MsgBox PhoneNum End Sub Når du senere skal søke etter duplikater kan du jo søke på flere kriterier. Fornavn, Etternavn og telefon nummer. Hvis det da er skrivefeil i fornavnet men resten er riktig, vil du få treff på etternavnet og telefonnummeret. Torbjørn Endret 8. juli 2016 av Bigelk Lenke til kommentar
Trelkrok Skrevet 8. juli 2016 Forfatter Del Skrevet 8. juli 2016 (endret) Hei. I selve input av data er det jo mulig å manipulere strengen før makroen skriver inn cellen. Hvis brukeren skriver trelkrok i textboxen kan du få makroen til å skrive inn Trelkrok i cellen. samme med telefonnummer. hvis brukeren skriver inn 0047 998 87 766 i textboxen kan du makroen til å skrive inn 99887766. Da vil det være lettere å søke etter duplikater senere. Det vil ikke være "idiotsikkert" men vil gjøre det litt lettere å ha ryddig data. Et eksempel på Navn Sub First_Name() Dim firstName As String, howLong As Integer firstName = InputBox("navn") howLong = Len(firstName) ' teller lengden på navnet firstName = LCase(firstName) ' setter alle bokstaver til små bokstaver (hvis noen skriver f.eks. tRelkrok) firstName = UCase(Left(firstName, 1)) & Right(firstName, howLong - 1) ' setter første bokstav til stor bokstav MsgBox firstName End Sub Et eksempel på telefonnummer Sub Phone_Num() Dim PhoneNum As String PhoneNum = InputBox("Nummer") PhoneNum = Replace(PhoneNum, " ", "") ' fjerner alle mellomrom PhoneNum = Right(PhoneNum, 8) ' setter PhoneNum til å være 8 tall fra høyre MsgBox PhoneNum End Sub Når du senere skal søke etter duplikater kan du jo søke på flere kriterier. Fornavn, Etternavn og telefon nummer. Hvis det da er skrivefeil i fornavnet men resten er riktig, vil du få treff på etternavnet og telefonnummeret. Torbjørn Hei igjen og tusen takk for tips , dette skal jeg se nærmere på etterhvert. Til orientering skrives Kundens fornavn og etternavn i samme celle. (Per Pål Askeladd) Kan vel også bygge en vba som finner duplikater og at den som taster inn da får en advarsel som for eksempel (Denne kunden finnes fra før. Vil du fortsette? JA NEI) Vi prates, takk igjen og god helg Endret 8. juli 2016 av Trelkrok Lenke til kommentar
Trelkrok Skrevet 12. juli 2016 Forfatter Del Skrevet 12. juli 2016 Da setter jeg denne som LØST tenker jeg. Tusen TAKK for hjelpen i denne omgang RA Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå