foutmelding in macro

Status
Niet open voor verdere reacties.
Je moet dit in de Macro nog even aanpassen.
Dan blijft het niet geselecteerd als de macro klaar is.

Dit veranderen;
Code:
Columns("A:I").Select
Selection.Delete Shift:=xlToLeft
End Sub
in dit;
Code:
Columns("A:I").Delete Shift:=xlToLeft
End Sub

Zie net je berichtje
Dit heb ik me zelf een beetje aangeleerd.
Verschillende macro's bewaar ik, deze bewerk ik dan en kijk wat er gebeurd.
Er zijn zat boeken te koop maar er staat nooit wat je wil maken.

Ik ben al 8 jaar thuis (pensioen) dus naar school gaan om dit te leren zit er niet meer in.
 
Laatst bewerkt:
Aan excell amateur, heb het voglende probleem:
heb nameijk een programma dat hetnummerd moet worden maar de regel waar VC= staat mag deze regel niet hernummerd worden.

Vb:
N245 X701.5 Y115
N250 G0 Z200 M9
N1107 L1 VC=1107 (VF 125 MODULMILL) deze blok zou niet hernummerd mogen worden,
zou N1107 moeten blijven.
N270 L70 R49=180
N275 H72099910
N280 G59 Z40
N285 G0 G56 X-277.5 Y102 Z100 W-40 T2049
N290 Z0 M8 M57

Mvg Jantje1
 
jantje1,

Test de code maar weer.

Code:
Sub ToevoegenGetal()
'
' Macro1 Macro
' De macro is opgenomen op 19/03/2011 door Jan.
'
' Sneltoets: CTRL+h
Dim r, z
Dim rng As Range, cel As Range
Dim waarde As String, nieuwwaarde As String
Dim rest As String
Dim teller As Long
teller = 0
Set rng = Sheets("blad2").Range("A1", Sheets("blad2").Range("A65536").End(xlUp))
For Each cel In rng
waarde = cel
If Left(waarde, 1) <> ":" Then
If Left(waarde, 3) = "MSG" Then GoTo 1
If Mid(waarde, 10, 2) = "VC" Then GoTo 1
teller = teller + 10 'ActiveCell.FormulaR1C1 = "=MID(R[-3]C[-5],10,2)"
z = 1
r = InStr(z, waarde, " ")
'rest = Mid(waarde, r, Len(waarde))
rest = Right(waarde, Len(waarde) - r)
nieuwwaarde = "N" & teller & " " & rest

cel.Offset(0, 9) = nieuwwaarde
Else
1
cel.Offset(0, 9) = waarde
GoTo 2
'z = 1
'r = InStr(z, waarde, " ")
'rest = Mid(waarde, r, Len(waarde))
'nieuwwaarde = Left(waarde, r) & " " & rest

cel.Offset(0, 9) = nieuwwaarde
End If
2
Next

Columns("A:I").Delete Shift:=xlToLeft
End Sub
 
Laatst bewerkt:
Aan amateur Excell, prachtig man dat je dit voor mekaar krijgt, 'k wou dat ik dit ook kon of zou kunnen.
Proficiat en bedankt ik waardeer dit echt.
 
Je heb nu gezien wat ik veranderd heb, dus kun je de volgende verandering zelf wel denk ik.

Suc6
 
Mag ik je nog eens iets vragen ivm een macro, zou namelijk een box willen zetten op het blad zodanig ik deze steeds gemakkelijk kan hanteren,maar als ik de code van hierboven toepas ben ik deze steeds kwijt.

Is het mogelijk van de macro vast op het blad te zetten?
Mvg Jan...
 
Wat bedoel je met een Box?
Doe anders even een voorbeeldje met wat je wil.
 
Misschien verkeerd geformuleerd maar de bedoeling is om gewoon een knop toe te passen op het werkblad zelf. Aan deze knop hang ik dan de macro aan vast.
Het is me wel gelukt maar telkens wordt hij verwijderd als de macro zijn werk gedaan heeft.
 
Dat is het ja, hoe komt het dat deze wel blijft staan en als ik één toepas verdwijnt deze?
Alvast bedankt
 
Eigenlijk is dat het geheim van de smid maar ik zal het je laten zien.
Ik heb er een foto van gemaakt is makkelijker dan een boek schrijven.
 

Bijlagen

Vind deze knop wel maar krijg verder niets te zien zoals je gestuurd hebt in bijlage, werk namelijk nog met excell 2003.
 
Heb het gevonden wat je mij toegestuurd hebt, nogmaals bedankt.
Mvg Jan...
 
Aan Excell amateur,heb namelijk deze code toegepast en het werkt, maar er wordt soms anders geprogrammeerd en daarom wil ik je vragen of het mogelijk is van op het woord te kunnen voorgaan:
vb:N1060 CALL 01060 VC30=3039 (AUTO DRM R125 L) als er het woord CALL voorkomt zou er vooraan N1060 moeten komen en deze cijfers komen vanuit de regel zoals je ziet na het woord Call 0. Dit wijzigd wel eeen aantal keer per programma naargelang de tool die wordt opgeroepen.
Soms wordt er ook zo geprogrammeerd:N150 CALL 03002 VC30=3039 (AUTO DRM R125 L)
Met andere woorden zou er nu vooraan de regel moeten beginnen met N3002.
Code:
Sub ToevoegenGetalb80()
'
' Macro1 Macro
' De macro is opgenomen op 19/03/2011 door Jan.
'
' Sneltoets: CTRL+h
Dim r, z
Dim rng As Range, cel As Range
Dim waarde As String, nieuwwaarde As String
Dim rest As String
Dim teller As Long
teller = 0
Set rng = Sheets("blad1").Range("A1", Sheets("blad1").Range("A65536").End(xlUp))
For Each cel In rng
waarde = cel
If Left(waarde, 1) <> ":" Then
If Left(waarde, 1) = "$" Then GoTo 1
If Left(waarde, 4) = "NMSG" Then GoTo 1
If Left(waarde, 3) = "MSG" Then GoTo 1
If Mid(waarde, 18, 2) = "VC" Then GoTo 1
If Mid(waarde, 7, 4) = "CALL" Then GoTo 1
teller = teller + 5 'ActiveCell.FormulaR1C1 = "=MID(R[-3]C[-5],18,2)"
z = 1
r = InStr(z, waarde, " ")
'rest = Mid(waarde, r, Len(waarde))
rest = Right(waarde, Len(waarde) - r)
nieuwwaarde = "N" & teller & " " & rest

cel.Offset(0, 9) = nieuwwaarde
Else
1
cel.Offset(0, 9) = waarde
GoTo 2
'z = 1
'r = InStr(z, waarde, " ")
'rest = Mid(waarde, r, Len(waarde))
'nieuwwaarde = Left(waarde, r) & " " & rest

cel.Offset(0, 9) = nieuwwaarde
End If
2
Next



Columns("A:I").Delete Shift:=xlToLeft
Application.ScreenUpdating = True
MsgBox "PROGRAMMA B80 HERNUMMERD IN KOLOM A!"

  Columns("A:A").EntireColumn.AutoFit
    Columns("A:A").Select


End Sub

Mvg Jan...
 
Laatst bewerkt door een moderator:
jantje1,

Als je de vogende keer Code plaatst zou je dan zo vriendelijk willen zijn om deze te selecteren en dan boven in het menu op # te klikken.
Dan komt je code netjes in een apart vak te staan, zie voorbeeld.
Code:
Dim waarde As String, nieuwwaarde As String
Dim rest As String
Dim teller As Long
teller = 0
Set rng = Sheets("blad1").Range("A1", Sheets("blad1").Range("A65536").End(xlUp))
For Each cel In rng
waarde = cel
Ik ben benieuwd of het zo goed is.

Als je deze code zelf schrijft, zou het toch niet zo'n probleem moeten zijn om je vraag voorelkaar te krijgen, denk ik.
 

Bijlagen

Laatst bewerkt:
Sorry maar ik denk dat je de vraag verkeerd begrepen hebt.
Het is de bedoeling om op de regel waar CALL in voorkomt dat deze de bloknummer N1060 krijgt en die 1060 komt dan vanuit de regel achter de CALL 0...
Zie vb:Het is namelijk zo geprogrammeerd
N60 CALL 01060 VC30=3039 maar zou N1060 CALL 01060 VC30=3039 moeten worden na hernummering.
 
Excell amateur het werkt, enkel als je tweemaal achter elkaar de macro laat lopen heb je een verschil. De ene keer nummer hij perfect en daarna nummer hij alles terug opnieuw en vindt niet wat hier de oorzaak van is.

Zie bijlage

Alvast bedankt voor den tijd dat je hierin steekt.
 

Bijlagen

jantje,

Kijk even of het nu wel goed werkt.
Ben er vanmiddag regelmatig vanaf gehaald, dus een foutje is dan zo gemaakt.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan