Avatar billede sjokoman Juniormester
03. maj 2007 - 14:08 Der er 2 kommentarer og
1 løsning

Udskrive kommentarer fra regneark sammen med udtræk

I ark1 har jeg vandret datoer og lodret vognnumre. Altså en vagtplan. I ark2 kan jeg ved at indtaste en dato, få den pågældende dags vogne frem på ark2 i rækkefølge lodret (sammen med nogle postnumre, som tages fra ark2). I ark1 har jeg indsat kommentarer, som jeg gerne vil have udskrevet samtidigt, så vognnumrene står lodret og kommentarerne lodret i kolonne f ved siden af den vogn, der er kommenatrer til.
Jeg mangler altså kun modulet til at få kommentarerne med, kan man indsætte et sådan?

mvh Johnny
Avatar billede supertekst Ekspert
03. maj 2007 - 14:31 #1
Skulle nok være muligt - evt. kan filen sendes til: pb@supertekst-it.dk
Avatar billede supertekst Ekspert
06. maj 2007 - 00:42 #2
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim kommentar As String
Dim Kol, t, r
    If Intersect(Target, Range("C5")) Is Nothing Then Exit Sub
    If Target > DateSerial(2007, 6, 17) Then GoTo Uge25

    Kol = Application.Match(Target, Sheets("Ark1-1").Range("A3:FM3"), 0) 'find aktuel kolonne
    Cells(1, 1) = Kol ' Slet evt. denne linie når du har testet koden
    Range("D6:D32") = "" 'rset udtræk
    For t = 4 To 29 ' Rækker i dit skema

Rem Slet gl. kommentarer
        If t = 4 Then
            Range("F6:F29").ClearContents
        End If
       
        r = Cells(40, 4).End(xlUp).Row + 1 ' finder næste tomme celle i udttræk
   
        If Sheets("Ark1-1").Cells(t, Kol) = "" Then
            Cells(r, 4) = Sheets("Ark1-1").Cells(t, 1)
Rem Slet variablen "kommentar"
            kommentar = ""
Rem Hvis ingen kommentar i cellen - så fortsæt
            On Error Resume Next

Rem hent kommentar fra cellen
            kommentar = Sheets("Ark1-1").Cells(t, Kol).Comment.Text
           
Rem hvis kommentar findes - fjern den første linie
            If kommentar <> "" Then
                kommentar = fjernLinie1(kommentar)
            End If
            Cells(r, 6) = kommentar
        End If
    Next
    GoTo ud


Uge25:
Kol = Application.Match(Target, Sheets("Ark1-1").Range("A30:FM30"), 0) 'find aktuel kolonne
Cells(2, 1) = Kol ' Slet evt. denne linie når du har testet koden
Range("D6:D32") = "" 'reset udtræk
For t = 4 To 29 ' Rækker i dit skema
r = Cells(40, 4).End(xlUp).Row + 1 ' finder næste tomme celle i udttræk
If Sheets("Ark1-1").Cells(t, Kol) = "" Then Cells(r, 4) = Sheets("Ark1-1").Cells(t, 1)
Next

ud:
End Sub
Private Function fjernLinie1(kommentar)
Dim p
    p = InStr(kommentar, Chr(10))
    If p > 0 Then
        fjernLinie1 = Mid(kommentar, p + 1)
    Else
        fjernLinie1 = kommentar
    End If
End Function
Avatar billede sjokoman Juniormester
06. maj 2007 - 06:08 #3
Tusind tak, det virker bare...

Johnny
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester