enter naar rechts plaatsen

Status
Niet open voor verdere reacties.

tombeerke

Gebruiker
Lid geworden
8 jan 2017
Berichten
280
In bijlage een voorbeeld van onze factuur.

als ik via excel, "opties", na "enter" naar "rechts" activeer werkt het prima, het grote nadeel is dan, dat alle werkmappen "enter naar rechts springen", en dat is niet onze bedoeling.

Kunnen we via een macro, als we de map openen deze instelling activeren ? (zodoende blijven mijn andere werkmappen hier van gespaard, en blijft mijn enter toets naar "onder" springen)

We hebben dit nodig, omdat we via een barcode scanner, de artikels willen inscannen, maar plaats deze nu onder elkaar ipv rechts naast elkaar (en kan barcode scanner niet aanpassen, type Unitech MS338)

Tot hoors

Tom

Bekijk bijlage factuurbarcode.xlsm
 
Wat geeft jouw macrorecorder als resultaat ?
 
werkt niet, heb geprobeerd met een macro op te nemen, maar blijft de data onder elkaar zetten, ipv rechts :eek::eek::eek::eek:
 
Ik vroeg naar het resultaat: de VBA code.
 
Stuit nog op een probleempje.

Ik heb alle combinaties toestenborden geprobeerd voor mijn barcodescanner, en krijg een foutmelding na het inlezen van de QR code

bij artikelnaam bv: 22042017E-Z-A-W-2 en ik krijg volgende 22042017E§Z§A§W§2 (heb al geprobeerd ook met caps toets, enz), kan ik in dezelfde cel de "§" terug vervangen door "-"

voorbeeld in bijlage

Tom

Bekijk bijlage factuurbarcode.xlsm
 
Dit zijn de macro's die ik gebruik.

Als ik in excel werk, gaat enter naar beneden (dus oke)
Start ik bestand factuur op, opent de map, en past de macro de richting naar "rechts" aan (dus dat werkt)
Alleen bij het afsluiten van de map wil ik nu, dan de instelling terug naar "beneden" gaat, en dat lukt me niet :eek::eek::eek:

Hierbij de codes:

Code:
Private Sub Workbook_Open()
richting = Application.MoveAfterReturnDirection
Application.MoveAfterReturnDirection = xlToRight
End Sub

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.MoveAfterReturnDirection = xlToRight
End Sub

Code:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.MoveAfterReturnDirection = richting
End Sub

Waarom zet hij de instellingen niet terug, na afsluiten van de werkmap ?

Tom
 
Zoiets?

In een module
Code:
Public dotchie As Long
en in ThisWorkbook
Code:
Private Sub Workbook_Open()
dotchie = Application.MoveAfterReturnDirection
End Sub
En
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
	If Sh.Name = "[COLOR="#FF0000"]Factuur[/COLOR]" Then
        Application.MoveAfterReturn = True
        Application.MoveAfterReturnDirection = xlToRight
    Else
        Application.MoveAfterReturnDirection = dotchie
    End If
End Sub
en
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.MoveAfterReturnDirection = dotchie
End Sub
 
Laatst bewerkt:
Omdat de macro niet Private gedeclareerd is.

Maar zonder variabele is natuurlijk veel eenvoudiger:

Code:
Private Sub Worksheet_Activate()
   M_snb
End Sub

Private Sub Worksheet_Deactivate()
   M_snb()
End Sub

Sub M_snb()
   With Application
       .MoveAfterReturnDirection = IIf(.MoveAfterReturnDirection = xlDown, xlRight, xlDown)
  End With
End Sub
 
Laatst bewerkt:
kan ik in dezelfde cel de "§" terug vervangen door "-"
Voor deze kan je zoiets proberen
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Columns("B").Replace _
 What:="§", Replacement:="-", _
 SearchOrder:=xlByColumns, MatchCase:=True
End Sub
 
Ik krijg het niet voor elkaar :eek::eek::eek::eek:

Kunnen jullie eens bekijken in voorbeeldbestand, ik denk dat alles is uitgevoerd zoals jullie aanbevelen, doch mijn cursor blijft naar beneden springen na enter
Kan het te maken hebben omdat het blad beveiligd is ?

Ik heb zelf een macro geschreven voor de "§" te wisselen naar "-",die perfect werkt, maar nu moet ik dat doen via een knop, graag had ik dat direct na de scan verkregen, enter gebeurt via scan

Kunnen jullie eens bekijken, en waar ik de fout inga ?

Thx

Tom

Bekijk bijlage factuurbarcode.xlsm
 
Probeer het eens met change.
Geen idee of de change reageert op de scanner.
Anders de selection_change event.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 Columns(2).Replace "§", "-"
End Sub
 
Harry,

Kijk even in bijlage, zover ben ik al geraakt, dus de cursorproblemen zijn van de baan :thumb:

Ook heb ik een sub geschreven die de "§" veranderd in "-", enkel moet ik dat nu doen met het refresh knopje dat ik geplaatst heb (en ik zou dit graag laten automatisch doen)

Je verwijst nu naar Private Sub Worksheet_Change, maar daar staat al een code ivm bladen toevoegen ....

Dus zit een beetje vast

Tom

Bekijk bijlage factuurbarcode.xlsm
 
Ik heb het er tussen geplaatst, maar geen idee of het werkt.

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 If Target.Address = "$E$6" Then
        If Target.Count = 1 And Target <> "" Then Sh.Name = Target.Value
[COLOR=#0000ff]    Else[/COLOR]
[COLOR=#0000ff]       Columns(2).Replace "§", "-"[/COLOR]
    End If
End Sub
Anders even de selction_change proberen.
Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
 Columns(2).Replace "§", "-"
End Sub
 
Harry,

2de optie werkt perfect ! selection_change

volgend issue:

Code:
Sub Bladinvoegen()
'
' Bladinvoegen Macro
'
ActiveSheet.Select
    ActiveSheet.Copy after:=Sheets(Sheets.Count)
    Range("e6").Value = Range("e6").Value + 1
    Range("b12:e36").ClearContents
    Range("e5").Value = Date
End Sub

Ik wil nu ook dat de 2 aanwezige formulierbesturingselementen (ik heb deze genoemd "cash" "bancontact")(onderaan factuur) de vinkjes verdwijnen als ik blad toevoeg. ClearContents??

Verder loop ik ook vast op de inhoud van cel E6 , nu is dat 2212700001, en de teller optellen) werkt automatisch prima , alleen wil ik nu de initialen van onze consulenten gebruiken bv ODB2212700001, maar dan loopt mijn code vast.
Ik had geprobeerd Range("ODB221270" & "E6") met dan ingevuld in E6 natuurlijk enkel maar 0001, maar werkt niet

Tom
 
De vinkjes verwijder je met '=false'.

Code:
Range("e6").Value = Range("e6").Value + 1
   Range("e6").numberformat = """ODB""0"
 
code werkt perfect !

wat de vinkjes betreft, ben ik er nog niet uit, waar moet ik de "=false" plaatsen ? de 2 besturingselementen staan toch niet in een cel ? of moet ik deze koppelen aan een cel en dan voor die cel bv E36=false doen?
 
Code:
For Each Shp In ActiveSheet.Shapes
       If Shp.Type = msoFormControl Then
       If Shp.FormControlType = xlCheckBox Then Shp.ControlFormat.Value = False
       End If
     Next Shp
 
Code:
For Each it In ActiveSheet.checkboxes
    it.Value = False
Next
 
Super werkt !
je blijft maar codes toveren, alsof het niks is :thumb::thumb::thumb:

Ik loop op een issue, alles werkt PERFECT, maar als ik mijn blad beveilig (hetgeen de bedoeling is) en ik wil een blad toevoegen krijg ik een foutmelding (het rare is dat de code wel werkt als de beveiliging NIET aanstaat ?)
VBA zegt range("E6").numberformat="general"
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan