28. oktober 2004 - 09:41Der er
2 kommentarer og 2 løsninger
Macro til kopiering af celler
Jeg skal have lavet macro som gør følgende:
1. indsæt 'tekst1' i celle A1, kopiere nedad indtil celle i kolonne B er tom. Slet denne linie. (med tom celle i kolonne B) 2. indsæt 'tekst2' i celle i kolonne A, kopiere nedad indtil celle i kolonne B er tom. Slet denne linie. 3. indsæt 'tekst3' i celle i kolonne A, kopiere nedad indtil celle i kolonne B er tom. Slet denne linie. 4. indsæt 'tekst4' i celle i kolonne A, kopiere nedad indtil celle i kolonne B er tom. Slet denne linie. 5. indsæt 'tekst5' i celle E1, kopiere nedad indtil celle/række er tom. 6. indsæt 'tekst6' i celle G1, kopiere nedad indtil celle/række er tom. 7. lave kolonne F+H om til tal med (-),tusindtalsseparator og 2 decimaler.
Sub DataTekst() Dim x As Integer Dim sTekst As String Range("A1").Select For x = 1 To 4 Select Case x Case 1: sTekst = "Tekst1" Case 2: sTekst = "Tekst2" Case 3: sTekst = "Tekst3" Case 4: sTekst = "Tekst4" End Select Do ActiveCell.Value = sTekst ActiveCell.Offset(1, 0).Activate Loop Until IsEmpty(ActiveCell.Offset(0, 1).Value) ActiveCell.EntireRow.Delete Next
Spørgsmålet er ikke helt forstået. Mener du at teksten kan skifter fra gang til gang hvorfor du egentlig gerne vil have en input box hvor du kan vælge havd du skal skrive hver gang du kører macroen?
Hvis ja så kommer løsningen her.
Sub DataTekst() Dim x As Integer Dim sTekst As String Range("A1").Select For x = 1 To 4 Select Case x Case 1: sTekst = InputBox("Tekst1", "Indsæt teksten du vil have i kononne 1 - område 1", "Tekst1") Case 2: sTekst = InputBox("Tekst2", "Indsæt teksten du vil have i kononne 1 - område 2", "Øst") Case 3: sTekst = InputBox("Tekst3", "Indsæt teksten du vil have i kononne 1 - område 3", "Syd") Case 4: sTekst = InputBox("Tekst4", "Indsæt teksten du vil have i kononne 1 - område 4", "Vest") End Select Do ActiveCell.Value = sTekst ActiveCell.Offset(1, 0).Activate Loop Until IsEmpty(ActiveCell.Offset(0, 1).Value) ActiveCell.EntireRow.Delete Next
Range("B1").Select Range("B1", ActiveCell.Offset(0, 0).End(xlDown)).Offset(0, 3).Value = InputBox("Tekst5", "Indsæt teksten du vil have i kononne E") ' B+3=E Range("B1", ActiveCell.Offset(0, 0).End(xlDown)).Offset(0, 4).Style = "Comma" ' B+4=F Range("B1", ActiveCell.Offset(0, 0).End(xlDown)).Offset(0, 5).Value = InputBox("Tekst5", "Indsæt teksten du vil have i kononne G") ' B+5=G Range("B1", ActiveCell.Offset(0, 0).End(xlDown)).Offset(0, 6).Style = "Comma" ' B+6=H
Det var lige nøjagtigt det jeg mente. Og det fungere bare, hermed points tid :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.