Avatar billede mikkel45 Novice
31. oktober 2011 - 18:43 Der er 3 kommentarer og
1 løsning

flytte celle med stregkodescanner

Hej
Jeg sidder lige og bøvler med et excelark og lidt stregkode, det er til tidsregistrering af produkter
Jeg vil gerne have at stregkodescanneren kan køre A1 tab A2 tab A3, dette er ikke noget problem, men nu vil jeg gerne have den til at starte på en ny linie, .. (nyt produkt)
dvs,... B1 tab B2 tab B3, ...... ny linie (nyt produkt) osv.
Hvordan klarer jeg lige det ?
Avatar billede iver_mo Nybegynder
01. november 2011 - 08:45 #1
Hvordan får du den til at køre "A1 tab A2 tab A3"?  Hvis jeg vil have den til at gå fra A1 til A2 skal jeg bruge Enter, ikke tab.

Hvis det må være i VBA kan denne funktion gøre det:

Private Sub Worksheet_Change(ByVal Target As Range)

dim myRow as Integer
myRow = 3

    If Target.Row < myRow Then
        Cells(Target.Row + 1, Target.Column).Select
    End If
    If Target.Row = myRow Then
        Cells(1, Target.Column + 1).Select
    End If

End Sub


Tag koden og flyt den ind VBA'en for det ark du for info ind i.
Avatar billede mikkel45 Novice
01. november 2011 - 11:59 #2
Undskyld, ... ja det er mig der vrøler på tastaturet
Der skulle have stået A1 tab B1 tab C1 tab D1
ny linie, .. (nyt produkt)

A2 tab B2 tab C2 tab D1
ny linie, .. (nyt produkt)

osv
"E" er brugt i forbindelse med noget tidsregistrering
Der ligger i forvejen en kode i VBA der ser sådant ud:

"Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A2:A1500")) Is Nothing Then

    Target.Offset(, 4).Value = Format(Now(), "dd-mm-yyyy hh:mm:ss")

End If
End Sub"

Vil det ændre på din kode, da jeg ikke synes det virker for mig i excel 2010
Avatar billede iver_mo Nybegynder
01. november 2011 - 12:40 #3
Med udgangspunkt i at din egen kode virker som du vil have den til, så skal den samlede kode se således ud:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A2:A1500")) Is Nothing Then

    Target.Offset(, 4).Value = Format(Now(), "dd-mm-yyyy hh:mm:ss")

End If

Dim myCol As Integer
myCol = 4

    If Target.Column < myCol Then
        Cells(Target.Row, Target.Column + 1).Select
    End If
    If Target.Column = myCol Then
        Cells(Target.Row + 1, 1).Select
    End If


End Sub


Hver opmærksom på at du for en lidt "sjov" reaktion på din egen kode hvis du har et ark med indhold og derefter markere flere rækker og kolonner for at slette det.
Avatar billede mikkel45 Novice
02. november 2011 - 11:51 #4
1000 tak for hjælpen, det virker perfekt
Du har helt sikkert fortjent dine point :-)

Mvh
Mikkel
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester