Hej jag skall prova att skapa löpnummer i Excel och hittade hos Excel Dennis kod för detta men får det inte att funka. Här under är koden vad är felet. Det här ser konstigt ut Tack för ett snabbt svar men det fungerar inte ändå får felmeddelande "Körfel 1004" har jag rätt i min tankegång att det kan vara någon inställning som saknas? Ja det är gjort jag har även ställt ner säkerhet för makro i verktygsmenyn men varje gång jag kommer till denna rad Nummer = Mid(ActiveWorkbook.Names("OrderNr").Value, 2, 99) så får jag felkod 1004 jag får inget grpp om det här. Välj Infoga/Namn/Definera... Tack för hjälpen det funkar inte fullt ut. Jag har gjort exakt som du skrivet ovan men värdet i cellen OrderNr ändras inte. Går jag och tittar på det definierade namnet så har programmet räknat upp ett steg så den biten verkar funka men hur få excel att skriva i samma värde i cellen. Tack för all hjälp jag har fått. Till att börja med räknades värdet upp med 2 jag chansade och ändrade denna kodsnutt "& Trim(Nummer + 1)" genom att ta bort + 1 och då fick jag det att funka. Det var ju bra att det fungerade för dig, menLöpnummer i Excel
Jag är helt ny i VB kan någon hjälpa mig.
Med vänlig hälsning
Per A
Option Explicit
Private Sub Workbook_Open()
Dim Nummer As Integer
Application.ScreenUpdating = False
'Tilldelar variabeln värdet av det definierade namnets nuvarande
'konstantvärde.
Nummer = Mid(ActiveWorkbook.Names("OrderNr").Value, 2, 99)
'Ökar det definierade namnets konstantvärde med 1.
ActiveWorkbook.Names("OrderNr").RefersTo = 0 "=" & Trim(Nummer + 1) (Här får jag syntaxfel)
Application.ScreenUpdating = True
End Sub Sv: Löpnummer i Excel
<b>RefersTo = 0 "=" </b>
Testa
ActiveWorkbook.Names("OrderNr").RefersTo = "0 =" & Trim$(Nummer + 1)
Vad vill RefersTo ha för DataTyp ?
Eller
ActiveWorkbook.Names("OrderNr").RefersTo = 0 & "=" & Trim$(Nummer + 1)
Edit: Nu vet jag. bör vara så här
<code>
Option Explicit
Private Sub Workbook_Open()
Dim Nummer As String
Application.ScreenUpdating = False
'Tilldelar variabeln värdet av det definierade namnets nuvarande
'konstantvärde.
Nummer = Mid$(ActiveWorkbook.Names("OrderNr").Value, 2, 99)
'Ökar det definierade namnets konstantvärde med 1.
Nummer = Cstr(Int(Nummer +1))
ActiveWorkbook.Names("OrderNr").RefersTo = "0 = " & Nummer '(Här får jag syntaxfel)
'Förstår inte vitsen med "0" vill du att det alltid skall börja med "0" ?
'I så fall skall det stå "= 0" & Nummer
Application.ScreenUpdating = True
End Sub
</code>Sv: Löpnummer i Excel
Så här står det på xlDennis sida
ActiveWorkbook.Names("OrderNr").RefersTo = "=" & Trim(Nummer + 1)
nollan skall bort Sv:Löpnummer i Excel
Med vänlig hälsning
Per A Sv:Löpnummer i Excel
Mvh
Per AllvinSv: Löpnummer i Excel
I rutan Definierade namn: Skriv OrderNr
I rutan Refererar till: ta bort det som står där och skriv =0
Klicka på knappen Lägg till
Då bör namnet OrderNr hamna i listan med definierade namn
Klicka Ok så bör det fungera sen
Felkoden beror sannolikt på att du försöker hämta ett värde som inte finns
/Thommy
Sv:Löpnummer i Excel
Mvh
Per AllvinSv:Löpnummer i Excel
MVH
Per AllvinSv: Löpnummer i Excel
du måste räkna upp ditt värde på två ställen i koden.
Den ändring du gjorde innebär ju att du inte gör någon uppräkning alls
/Thommy