27. september 2009 - 13:41Der er
17 kommentarer og 1 løsning
Hjælp til Makro.
Hej experter. Er der nogen der kan hjælpe mig med en måske svær makro? Jeg vil gerne have, at indholdet af enten B4 eller B19, kopieres ind i de celler man klikker på i områderne D4:E33, G4:H33, J4:K33 og M4:N33. Kan det lade sig gøre? Ib
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Rem Klikkes der i et af områderne Dim kolonne, række kolonne = Target.Column række = Target.Row
If kolonne >= 4 And kolonne <= 14 And kolonne <> 6 And kolonne <> 9 And kolonne <> 12 Then If række >= 4 And kolonne <= 33 Then Target.PasteSpecial xlPasteAll End If End If End Sub Private Sub worksheet_activate() If Range("B4") <> "" Then Range("B4").Select Else Range("B19").Select End If
Hej superteks. Der sker det at når jeg klikker kommer der en box op hvori der står. Run-Time error '1004': Metode PasteSpecial for klassen Range mislykkedes. Hvis jeg debugger er det linien. Target. PasteSpecial x1PasteAll som er gul. Ib
Ja - det er måske ikke hensigtsmæssigt at B4/B19 vælges når arket aktiveres. Hvis du prøver at klikke på et andet ark og så klikker på det relevante - så skulle det virke p.t.
Skal du have formatet med fra B4/B19 eller er det kun værdien? Så retter jeg ind efter det.
Rem Version II Rem ========== Private Sub Worksheet_SelectionChange(ByVal Target As Range) Rem Klikkes der i et af områderne Dim kolonne, række kolonne = Target.Column række = Target.Row
If kolonne >= 4 And kolonne <= 14 And kolonne <> 6 And kolonne <> 9 And kolonne <> 12 Then If række >= 4 And kolonne <= 33 Then Target.Value = HentVærdi End If End If End Sub Private Function HentVærdi() If Range("B4") <> "" Then Range("B4").Select Else Range("B19").Select End If HentVærdi = Selection.Value End Function
Lige en hurtig kommentar: prinsib>>Hvis du har kopieret linien: Target. PasteSpecial x1PasteAll, så har du en fejl i koden: det skal være: Target. PasteSpecial xlPasteAll -altså l IKKE 1.
Hej superstkst. Nu virker det som det skal, bortset fra en lille detalje. Den indsætter også i række 34 nede under kolonnerne jeg klikker i, men det tror jeg godt jeg kan leve med, hvis det er besværligt at rette. Tak for hjælpen, og for dit hurtige svar. Læg et svar. Ib
Rem Version III Rem =========== Private Sub Worksheet_SelectionChange(ByVal Target As Range) Rem Klikkes der i et af områderne Dim kolonne, række kolonne = Target.Column række = Target.Row
If kolonne >= 4 And kolonne <= 14 And kolonne <> 6 And kolonne <> 9 And kolonne <> 12 Then If række >= 4 And række <= 33 Then 'der stod kolonne i stedet for række Target.Value = HentVærdi End If End If End Sub Private Function HentVærdi() If Range("B4") <> "" Then Range("B4").Select Else Range("B19").Select End If HentVærdi = Selection.Value End Function
Ja - jeg har set dit tillægsspørgsmål - når det måske i morgen - (har flere kundeopgaver).
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.