09. januar 2006 - 20:04Der er
9 kommentarer og 1 løsning
Gem kopi af enkelte data i andet ark.
Håber at der er en venlig sjæl der kan hjælpe mig med følgende:
Jeg har et beregningsark ;Sheet "M1 beregn" Jeg vil gerne ha' lavet en macro (click-knap) der kopiere og gemmer enkelte data i et andet ark ; Sheet "input M1"
Data der skal gemmes fra Sheet "M1 beregn" er i cellerne : E11, E20, E34, G20, G34, I20, I34 Data skal gemmes (i rækkefølge)i Sheet "input M1" i cellerne: D4, E4, F4, G4, H4, I4, J4 (første gang og næste gang i række 5, 6, 7 osv.)
Da Sheet "M1 beregn" løbende bliver ændret, skal det gerne være sådan at kopierne fra dette ark til Sheet "input M1" løber ned i de samme kolonner. (altså E11 "M1 beregn; hører til D kolonne i "input M1") Altså et loop ?
Håber på et hurtigt svar.. (stil evt. ekstra spørgsmål ;-) NB. Bruger engelsk udgave af exel.
hvis der altid er værdier i D kolonnen i Sheet"input M1" , kan denne bruges
Public Sub Kopier() Dim Til As Object, Fra As Object, FraCelle As Variant, TilCelle As Variant, RW As Long, I As Integer Set Fra = Sheets("M1 beregn") Set Til = Sheets("input M1") fracells = Array("E11", "E20", "E34", "G20", "G34", "I20", "I34") TilCells = Array("D", "E", "F", "G", "H", "I", "J") RW = Til.Range("D65536").End(xlUp).Row + 1 If RW < 4 Then RW = 4 For I = 0 To UBound(fracells) Til.Range(TilCells(I) & RW) = Fra.Range(fracells(I)) Next
Public Sub Kopier() Dim Til As Object, Fra As Object, FraCells As Variant, TilCelles As Variant, RW As Long, I As Integer Set Fra = Sheets("M1 beregn") Set Til = Sheets("input M1") FraCells = Array("E11", "E20", "E34", "G20", "G34", "I20", "I34") TilCells = Array("D", "E", "F", "G", "H", "I", "J") RW = Til.Range("D65536").End(xlUp).Row + 1 If RW < 4 Then RW = 4 For I = 0 To UBound(FraCells) Til.Range(TilCells(I) & RW) = Fra.Range(FraCells(I)) Next
Det virker meget fint (vælger dog at bruge; Private Sub CommandButton1_Click()) i stedet for Puplic Sub kopier ;-)
Et lille ekstra spørgsmål.. Kan man gøre sådan at Man ikke kan skrive det samme i D kolonnen, evt. med en promt af at data for kolonnen allerede eksistere? (grunden er at de enkelte data i kolonne D er unikke, hvilket der ikke bliver taget højde for nu..)
og hvis du så lige hurtigt forklarer hvordan jeg giver dig dine velfortjente points (det er det første spørgsmål, jeg har oprette ;-)) / Istebjerg
Public Sub Kopier() Dim Til As Object, Fra As Object, FraCells As Variant, TilCelles As Variant, RW As Long, I As Integer Dim Tjek As Variant, OK As Boolean OK = True Set Fra = Sheets("M1 beregn") Set Til = Sheets("input M1") FraCells = Array("E11", "E20", "E34", "G20", "G34", "I20", "I34") TilCells = Array("D", "E", "F", "G", "H", "I", "J") RW = Til.Range("D65536").End(xlUp).Row + 1 If RW < 4 Then RW = 4
Tjek = Til.Range("D4:D" & RW - 1) For x = 1 To UBound(Tjek) If Tjek(x, 1) = Fra.Range("E11") Then OK = False Exit For End If Next
If OK Then For I = 0 To UBound(FraCells) Til.Range(TilCells(I) & RW) = Fra.Range(FraCells(I)) Next Else MsgBox " nummeret er brugt, tast om" End If End Sub
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.