Thema Datum  Von Nutzer Rating
Antwort
21.02.2018 17:21:15 Hannah
NotSolved
Blau Automatischen Tagesplan erstellen
21.02.2018 18:56:07 Ben
NotSolved
22.02.2018 09:39:15 Hannah
NotSolved
22.02.2018 12:15:51 Ben
NotSolved
22.02.2018 14:33:03 Hannah
NotSolved
22.02.2018 18:56:54 Ben
Solved
22.02.2018 19:00:58 Ben
NotSolved
23.02.2018 09:49:24 Hannah
NotSolved
22.02.2018 10:06:10 Martin
NotSolved

Ansicht des Beitrags:
Von:
Ben
Datum:
21.02.2018 18:56:07
Views:
588
Rating: Antwort:
  Ja
Thema:
Automatischen Tagesplan erstellen

Hallo,

in der Muster-Arbeitsmappe ist die erste Tabelle intern mit Tabelle3 geführt worden.

Der folgende VBA-Code funktioniert nur dann, wenn der interne Name nicht verändert wird:

Private Function GetLastRange(sh As Worksheet) As Range
    Dim rng As Range
    Dim rngArea As Range
    For Each rng In sh.Rows(2).Cells
        If rng.Column > 1 Then
            If Not rng.MergeArea.Count > 1 Then
                Exit For
            Else
                Set rngArea = rng.MergeArea
            End If
        End If
    Next
    If Not rngArea Is Nothing Then
        Set GetLastRange = rngArea.EntireColumn
    Else
        Set GetLastRange = Nothing
    End If
End Function

Sub CopyIST()
    Dim rngLast As Range
    Dim rngIst As Range
    Dim rng As Range, rngCP As Range
    Dim lngLastCol As Long
    Dim varCP As Variant
    Set rngLast = GetLastRange(Tabelle3)
    Set rngIst = Tabelle3.Range("B2:O25")
    lngLastCol = rngLast.Column + rngLast.Columns.Count - 1
    For Each rng In rngIst.Cells
        Set rngCP = Tabelle3.Cells(rng.Row, lngLastCol - rngIst.Columns.Count + (rng.Column - rngIst.Column))
        If rngCP.MergeArea.Cells.Count > 1 Then
            ' Titel auslesen
            varCP = ""
        Else
            varCP = rngCP.Value
        End If
        rng.Value = varCP
    Next
End Sub

Aufruf:

Der Aufruf erfolgt mit CopyIST

Kurze Erläuterung:

Beim Aufruf wird zunächst die letzte verbundene Zelle ermittelt (mit der Funktion GetLastRange

Ausgehend von dem Ergebnis werden die zu kopierende Daten ermittelt und nacheinander in den Bereich B2:O25 kopiert.

Ausnahme: In der zweiten Zeile werden derzeit keine Inhalte kopiert.

Vielleicht kann jemand hier eine Lösung beisteuern?

Problematik: Bei verbundenen Zellen kann der Inhalt nicht mit dem normalen Befehl range.value ausgelesen werden.

LG, Ben


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
21.02.2018 17:21:15 Hannah
NotSolved
Blau Automatischen Tagesplan erstellen
21.02.2018 18:56:07 Ben
NotSolved
22.02.2018 09:39:15 Hannah
NotSolved
22.02.2018 12:15:51 Ben
NotSolved
22.02.2018 14:33:03 Hannah
NotSolved
22.02.2018 18:56:54 Ben
Solved
22.02.2018 19:00:58 Ben
NotSolved
23.02.2018 09:49:24 Hannah
NotSolved
22.02.2018 10:06:10 Martin
NotSolved