Trelkrok Skrevet 28. juni 2016 Del Skrevet 28. juni 2016 Hei hei. Kjører Office 2010 (jobb) og Office 365 (hjemme) Jeg har en Combobox1 som henter informasjon fra N3:N1000 (Kunderegister) og kjører følgende makro: Private Sub ComboBox1_Change() ActiveCell.Value = Range(ActiveSheet.Shapes("ComboBox1") _ .DrawingObject.LinkedCell).Value End Sub Dette fungerer men gir betydelig fare for feilplassering av navn. Det jeg ønsker er og klikke i første ledige celle i kolonne B3:B1000 for og få inn dataene (navnet fra kundelisten) fra ComboBox1. Etter valg av navn skal Combobox1 resettes. Har prøvd og prøvd men får ikke dette til Noen som kan være så snill og hjelpe meg med dette? Ha en fin kveld Mvh Rolf Arne Lenke til kommentar
ExcelGuru Skrevet 28. juni 2016 Del Skrevet 28. juni 2016 Hei på deg. Koden under vil plassere verdien i første ledige rad i kolonnen du angir. Virker skummelt på meg hvis brukeren skriver i tekstfeltet, siden ComboBox1_Change() kalles opp ved første match selv om du har MatchRequired satt til True? Private Sub ComboBox1_Change() Dim Kolonne As Long Kolonne = 1 With ActiveSheet x = 1: While .Cells(x, Kolonne) <> "" x = x + 1: Wend .Cells(x, Kolonne) = .ComboBox1.Text .ComboBox1.Text = "" End With End Sub Lenke til kommentar
Trelkrok Skrevet 28. juni 2016 Forfatter Del Skrevet 28. juni 2016 Hei og tusen takk for svar Var ikke helt sånn jeg tenkte, skal prøve og forklare litt bedre. Jeg har en kundeliste med kundens navn i N3:N1000. Jeg vil plukke navn fra denne listen ved hjelp av en søkeboks (ComboBox1) Når jeg velger for eksempel celle B10 og søker opp kunden i ComboBox1 kommer det opp en liste med 8 navn (ListRows8) Når jeg klikker på navnet jeg ønsker, skal dette komme i celle B10 og markøren flytter seg til B11. ComboBox1 skal resettes for nytt søk. Kan hende det er andre og bedre måter og gjøre dette på så kom gjerne med forslag Legger ved ett bilde av regnearket, håper det vart litt mer forståelig hva jeg mener På forhånd takk Lenke til kommentar
Bigelk Skrevet 29. juni 2016 Del Skrevet 29. juni 2016 Hei. Dette skal fungere. Koden må legges inn på selve arket (objektet). På venstre side av der du skriver makroene dine har du en liste over alle arkene i arbeidsboken din. velg det aktuelle arket og lim inn koden der. Hvis du da dobbeltklikker på navnet i listen vil navnet bli fylt inn i første tomme celle i kolonne B. Har satt listen til å være B2:B9. kan evt. gjøres om til en dynamisk Range. Hvis du får det til å fungere kan du sikkert vente litt med å sette tråden til løst, da ExcelGuru er noe stødigere på dette enn meg og kanskje har en bedre løsning. Option Explicit Private Sub worksheet_BeforeDoubleClick(ByVal target As Range, cancel As Boolean) Dim sisteRad As Long, NavnetDuVelger As String If Not Application.Intersect(target, Range("B2:B9")) Is Nothing Then NavnetDuVelger = target.Value cancel = True End If sisteRad = Sheets(1).Cells(Rows.Count, "B").End(xlUp).Row Sheets(1).Cells(sisteRad + 1, 2).Value = NavnetDuVelger ComboBox1.Text = "" End Sub Mvh Torbjørn Lenke til kommentar
Trelkrok Skrevet 29. juni 2016 Forfatter Del Skrevet 29. juni 2016 Hei. Dette skal fungere. Koden må legges inn på selve arket (objektet). På venstre side av der du skriver makroene dine har du en liste over alle arkene i arbeidsboken din. velg det aktuelle arket og lim inn koden der. Hvis du da dobbeltklikker på navnet i listen vil navnet bli fylt inn i første tomme celle i kolonne B. Har satt listen til å være B2:B9. kan evt. gjøres om til en dynamisk Range. Hvis du får det til å fungere kan du sikkert vente litt med å sette tråden til løst, da ExcelGuru er noe stødigere på dette enn meg og kanskje har en bedre løsning. Option Explicit Private Sub worksheet_BeforeDoubleClick(ByVal target As Range, cancel As Boolean) Dim sisteRad As Long, NavnetDuVelger As String If Not Application.Intersect(target, Range("B2:B9")) Is Nothing Then NavnetDuVelger = target.Value cancel = True End If sisteRad = Sheets(1).Cells(Rows.Count, "B").End(xlUp).Row Sheets(1).Cells(sisteRad + 1, 2).Value = NavnetDuVelger ComboBox1.Text = "" End Sub Mvh Torbjørn Hei, driver og prøver og prøver men ikke så lett for en trelkrok Skal makroen som jeg hadde ComboBox1 fjernes og erstattes med din? Eller skal jeg slette den og sette den inn en ny Module på Ark1? Rekker ikke mer nå men skal se på det igjen senere i kveld. Tusen takk så langt Lenke til kommentar
Trelkrok Skrevet 29. juni 2016 Forfatter Del Skrevet 29. juni 2016 Hei. Dette skal fungere. Koden må legges inn på selve arket (objektet). På venstre side av der du skriver makroene dine har du en liste over alle arkene i arbeidsboken din. velg det aktuelle arket og lim inn koden der. Hvis du da dobbeltklikker på navnet i listen vil navnet bli fylt inn i første tomme celle i kolonne B. Har satt listen til å være B2:B9. kan evt. gjøres om til en dynamisk Range. Hvis du får det til å fungere kan du sikkert vente litt med å sette tråden til løst, da ExcelGuru er noe stødigere på dette enn meg og kanskje har en bedre løsning. Option Explicit Private Sub worksheet_BeforeDoubleClick(ByVal target As Range, cancel As Boolean) Dim sisteRad As Long, NavnetDuVelger As String If Not Application.Intersect(target, Range("B2:B9")) Is Nothing Then NavnetDuVelger = target.Value cancel = True End If sisteRad = Sheets(1).Cells(Rows.Count, "B").End(xlUp).Row Sheets(1).Cells(sisteRad + 1, 2).Value = NavnetDuVelger ComboBox1.Text = "" End Sub Mvh Torbjørn Hei, driver og prøver og prøver men ikke så lett for en trelkrok Skal makroen som jeg hadde ComboBox1 fjernes og erstattes med din? Eller skal jeg slette den og sette den inn en ny Module på Ark1? Rekker ikke mer nå men skal se på det igjen senere i kveld. Tusen takk så langt Hei igjen, dette fungerer det men forsatt ikke som jeg ønsker Som vedlagt bilde i starten har jeg kundeliste med kundens navn i N3:N1000 (som kommer fra kommer fra ark 2) Jeg ønsker og søke opp kundene (for og slippe og bla igjennom en liste på 1000 navn hvert år) fra denne listen (N3:N1000) og få valgt navn i første ledige celle i B3:B1000 Ved ny sesong slettes alle data i B3:B1000 (dette fungerer via knappen "Nullstille ved nytt år" Håper dette var litt oppklarende God natt Lenke til kommentar
Bigelk Skrevet 30. juni 2016 Del Skrevet 30. juni 2016 Har du testet med ctrl + b (søkefunksjon i Excel) ? Lenke til kommentar
Trelkrok Skrevet 30. juni 2016 Forfatter Del Skrevet 30. juni 2016 Har du testet med ctrl + b (søkefunksjon i Excel) ? Ja har gjort det men får ikke det jeg ønsker Får bruke datavalidering så lenge. Men gir meg ikke før jeg finner en løsning og tar gjerne mot flere tips Combobox1 gir som bilde viser bare 8 rader og velge fra (den søker i N3:N1000) og er betydelig raskere og finne navn. Ved og klikke på ønsket navn kommer det i valgt celle. Fungerer med denne makroen, Private Sub ComboBox1_Change() ActiveCell.Value = Range(ActiveSheet.Shapes("ComboBox1") _ .DrawingObject.LinkedCell).Value End Sub men som sagt gir den rom for feil jeg ikke ønsker Lett og velge feil celle, og Combobox1 nulstiller seg ikke etter søk Det som er moro med excel er at som regel finnes det en løsning på alt . Lenke til kommentar
Bigelk Skrevet 30. juni 2016 Del Skrevet 30. juni 2016 (endret) Beklager. fikk ikke sletta svaret. hadde en kode her, men etter litt testing viste det seg at den var full av feil Endret 30. juni 2016 av Bigelk Lenke til kommentar
Trelkrok Skrevet 30. juni 2016 Forfatter Del Skrevet 30. juni 2016 Beklager. fikk ikke sletta svaret. hadde en kode her, men etter litt testing viste det seg at den var full av feil Hm ikke lett dette, denne fører til at for hver bokstav jeg skriver i ComboBox1 kommer det opp navn i ny celle hver gang. Skal ha bare ett navn. Hvis jeg skriver for eks bj i boksen skal alle navn som starter på bj komme opp. Når jeg klikker på for eksempel Bjørn skal denne kunden komme i første ledige celle i kolonne B og ComboBox1 resetes til nytt søk Lenke til kommentar
Bigelk Skrevet 30. juni 2016 Del Skrevet 30. juni 2016 Ja. Problemet er at hver gang du skriver inn en bokstav eller fjerner en bokstav vil du trigge en change, som ber makroen om å gå til neste celle. Dette er nok den beste løsningen jeg kan komme med. Sett Linkedcell til F.eks. K8. Når verdien av K8 blir navnet du søker dobbeltklikker du på K8. (har valgt K8 fordi den er rett under comboboxen din. Du kan sette den til hvilken celle du vil) Option Explicit Private Sub worksheet_BeforeDoubleClick(ByVal target As Range, cancel As Boolean) Dim sisteRad As Long, NavnetDuVelger As String If Not Application.Intersect(target, Range("K8")) Is Nothing Then NavnetDuVelger = target.Value cancel = True End If sisteRad = Sheets(1).Cells(Rows.Count, "B").End(xlUp).Row Sheets(1).Cells(sisteRad + 1, 2).Value = NavnetDuVelger ComboBox1.Text = "" End Sub Lenke til kommentar
Trelkrok Skrevet 30. juni 2016 Forfatter Del Skrevet 30. juni 2016 Ja. Problemet er at hver gang du skriver inn en bokstav eller fjerner en bokstav vil du trigge en change, som ber makroen om å gå til neste celle. Dette er nok den beste løsningen jeg kan komme med. Sett Linkedcell til F.eks. K8. Når verdien av K8 blir navnet du søker dobbeltklikker du på K8. (har valgt K8 fordi den er rett under comboboxen din. Du kan sette den til hvilken celle du vil) Option Explicit Private Sub worksheet_BeforeDoubleClick(ByVal target As Range, cancel As Boolean) Dim sisteRad As Long, NavnetDuVelger As String If Not Application.Intersect(target, Range("K8")) Is Nothing Then NavnetDuVelger = target.Value cancel = True End If sisteRad = Sheets(1).Cells(Rows.Count, "B").End(xlUp).Row Sheets(1).Cells(sisteRad + 1, 2).Value = NavnetDuVelger ComboBox1.Text = "" End Sub Tusen takk for svar, skal se mer på dette etterhvert Setter den ikke som løst foreløpig Lenke til kommentar
ExcelGuru Skrevet 30. juni 2016 Del Skrevet 30. juni 2016 Hei og hei Det ble litt fristende å komme med et forslag... Her popper det opp en liten boks når du klikker i B-kolonnen. Når du skriver i tekstboksen, vises alle navn som inneholder bokstavene du skriver. Når du klikker og taster enter evt klikker OK, settes navnet inn i listen på første ledige rad. Når et navn er valgt, settes en "x" til venstre for navnet i kundelisten slik at den ikke kommer opp i listboksen neste gang du søker. Denne kolonnen ("M" i eksemplet) må du slette når du nullstiller arket. Det er over 1000 navn i listen så du kan se om hastigheten blir ok. http://www.excelguru.no/download/2473/ Vennlig hilsen Ketil Lenke til kommentar
Trelkrok Skrevet 1. juli 2016 Forfatter Del Skrevet 1. juli 2016 Skal sjekke denne når jeg kommer hjem ☺️☺️ Kommer med tilbakemelding Lenke til kommentar
Trelkrok Skrevet 1. juli 2016 Forfatter Del Skrevet 1. juli 2016 Hei og hei Det ble litt fristende å komme med et forslag... Her popper det opp en liten boks når du klikker i B-kolonnen. Når du skriver i tekstboksen, vises alle navn som inneholder bokstavene du skriver. Når du klikker og taster enter evt klikker OK, settes navnet inn i listen på første ledige rad. Når et navn er valgt, settes en "x" til venstre for navnet i kundelisten slik at den ikke kommer opp i listboksen neste gang du søker. Denne kolonnen ("M" i eksemplet) må du slette når du nullstiller arket. Det er over 1000 navn i listen så du kan se om hastigheten blir ok. http://www.excelguru.no/download/2473/ Vennlig hilsen Ketil Hei hei, ved første øyekast ser bare dette rått ut. Skal bygge det inn i mitt regneark og se mer på det iløpet av helga. Når jeg har fått gjort det kommer jeg tilbake med full rapport. Stor takk til Torbjørn også Lenke til kommentar
Trelkrok Skrevet 2. juli 2016 Forfatter Del Skrevet 2. juli 2016 Hei hei, da har jeg fått satt dette inn i min bok og det fungerer perfekt med alle de andre makroene i denne boka TUSEN TAKK for hjelpa. Alt kan løses ser det ut til God helg til alle Lenke til kommentar
Trelkrok Skrevet 9. juli 2016 Forfatter Del Skrevet 9. juli 2016 Hei og hei Det ble litt fristende å komme med et forslag... Her popper det opp en liten boks når du klikker i B-kolonnen. Når du skriver i tekstboksen, vises alle navn som inneholder bokstavene du skriver. Når du klikker og taster enter evt klikker OK, settes navnet inn i listen på første ledige rad. Når et navn er valgt, settes en "x" til venstre for navnet i kundelisten slik at den ikke kommer opp i listboksen neste gang du søker. Denne kolonnen ("M" i eksemplet) må du slette når du nullstiller arket. Det er over 1000 navn i listen så du kan se om hastigheten blir ok. http://www.excelguru.no/download/2473/ Vennlig hilsen Ketil Hei hei, ved første øyekast ser bare dette rått ut. Skal bygge det inn i mitt regneark og se mer på det iløpet av helga. Når jeg har fått gjort det kommer jeg tilbake med full rapport. Stor takk til Torbjørn også Hei igjen Bare ett lite spørsmål, hva hvis man klikker OK men opptager at det var feil navn Ellers funker dette helt topp, har lagt til en CommandButton til som åpner for registrering av ny kunde. Dette blir sååååå bra med god hjelp fra deg / dere. Ha en fin kveld. RA Lenke til kommentar
ExcelGuru Skrevet 10. juli 2016 Del Skrevet 10. juli 2016 Så bra at du er fornøyd Det er jo mulig å lage en knapp som fjerner linjen med kunden som er valgt i listboksen, men lurer på om det kan lage like mye trøbbel som om man klikker OK på feil kunde? Vennlig hilsen Ketil Lenke til kommentar
Trelkrok Skrevet 11. juli 2016 Forfatter Del Skrevet 11. juli 2016 (endret) Hei igjen, enig med deg. Vi får være sikre på at vi har valgt rett navn før vi klikker OK ☺️ Ha en fin dag RA Endret 11. juli 2016 av Trelkrok Lenke til kommentar
Trelkrok Skrevet 11. juli 2016 Forfatter Del Skrevet 11. juli 2016 (endret) Hei igjen, enig med deg. Vi får være sikre på at vi har valgt rett navn før vi klikker OK ☺️ Ha en fin dag RA Endret 11. juli 2016 av Trelkrok 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å