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.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.