2 simple Makro'er
Jeg sidder og leger med et par ret simple Makro'erRight() der indsætter et antal celler og rykker indholdet af rækken til højre. Den virker fint.
' Skubber celler x antal celler til højre
'
' Genvejstast:Ctrl+r
Dim NoOfCells As Integer
' får antal pladser fra inputbox
NoOfCells = InputBox("Indtast antal pladser der skal flyttes", "Hvor mange celler skal der flyttes", 24)
For i = 1 To NoOfCells ' looper det ønskede antal gange og flytter èn plads af gangen - det ser lidt blæret ud
Selection.Insert Shift:=xlToRight
Next i
End Sub
På samme måde forsøger jeg at lave Sub-proceduren Left() der skal fjerne et antal celler og rykke det resterende indhold af rækken til venstre.
Problemet er ganske enkelt at der tilsyneladende ikke sker det en sk**. der er ikke noget der flytter sig.
Sub Left()
' trækker celler x antal pladser til venstre
' Genvejstast:Ctrl+l
Dim StartCol As Integer, EndCol As Integer, NoOfCells As Integer, ActiveRow As Integer
' får antal pladser fra inputbox
NoOfCells = InputBox("Indtast antal pladser der skal flyttes", "Hvor mange celler skal der flyttes", 24)
StartCol = ActiveCell.Column ' registrerer startkolonnen som udgangspunktet
ActiveRow = ActiveCell.Row ' registrerer hvilken række vi arbejder i
EndCol = StartCol - NoOfCells ' beregner hvilken kolonne vi vil slutte i
If EndCol < 1 Then ' Hvis slut-kolonnen-nummer nu er blevet udregnet til under 1, så vil der opstå en fejl
MsgBox EndCol ' udskriver msgbox hvis bruger vil slette flere celler end der er kolonner til
EndCol = 1 ' så tilretter vi kolonnenummeret til 1
End If
NoOfCells = EndCol - StartCol ' vi genberegner NoOfCells fordi den kan have ændret sig sammen med EndCol
For i = 1 To NoOfCells
Cells(ActiveRow, EndCol).Select
Selection.Delete Shift:=xlToLeft
Next i
'Cells(0, 1).Select ' line kun brugt til at fremprovokere fejl, så jeg med debugger kan aflæse værdier i div. variabler
End Sub
Hjælp - jeg kan ikke finde fejlen...