Thema Datum  Von Nutzer Rating
Antwort
28.08.2017 15:37:44 Dario
NotSolved
Blau Jede xte Zeile übernehmen
28.08.2017 20:23:06 Ben
NotSolved
29.08.2017 08:29:53 Gast47779
NotSolved
29.08.2017 13:21:17 Ben
NotSolved
03.09.2017 14:29:09 Gast32695
NotSolved

Ansicht des Beitrags:
Von:
Ben
Datum:
28.08.2017 20:23:06
Views:
623
Rating: Antwort:
  Ja
Thema:
Jede xte Zeile übernehmen

Hallo,

habe eine Muster-Arbeitsmappe erstellt.

Diese enthält zwei Tabellen:

Tabelle 1 enthält alle Strompreise inkl. den drei Text-Zeilen alle 28. Zeile (die Daten werden mit Zufallswerten mit der Sub GerateData erzeugt.)

Tabelle 2 enthält die kopierten Einträge. Diese werden mit der Sub TransposeData generiert.

Hier nochmal der Code von der Sub TransposeData:

Option Explicit

Sub TransposeData()
    Dim wshData As Worksheet
    Dim wshTrans As Worksheet
    Dim lngRowTr As Long
    Dim rngCp As Range, rngCpTimes  As Range
    Dim rng As Range, rnglast As Range
    Set wshData = Worksheets(1)
    Set wshTrans = Worksheets(2)
    lngRowTr = 1
    Application.ScreenUpdating = False
    For Each rng In wshData.UsedRange.Rows
        If IsNumeric(rng.Cells(1, 1).Value) And Len(rng.Cells(1, 1).Value) > 0 Then
            If Not rnglast Is Nothing Then
                If rngCp.Cells.Count = 24 Then
                    RangeTranspose wshTrans, rngCp, rngCpTimes, lngRowTr
                End If
            End If
            If rngCp Is Nothing Then
                Set rngCp = rng.Cells(1, 2)
                If lngRowTr = 1 Then Set rngCpTimes = rng.Cells(1, 1)
            Else
                Set rngCp = Union(rngCp, rng.Cells(1, 2))
                If lngRowTr = 1 Then Set rngCpTimes = Union(rngCpTimes, rng.Cells(1, 1))
            End If
            Set rnglast = rng
        End If
    Next
    RangeTranspose wshTrans, rngCp, rngCpTimes, lngRowTr

    If Not Application.CutCopyMode = False Then
        Application.CutCopyMode = False
    End If
    Application.ScreenUpdating = True
End Sub

Sub RangeTranspose(ByRef wshTrans As Worksheet, ByRef rngCp As Range, ByRef rngCpTimes As Range, ByRef lngRowTr As Long)
    If Not rngCp Is Nothing Then
        ' Transpose
        If lngRowTr = 1 Then
            ' Uhrzeiten transposen
            rngCpTimes.Copy
            wshTrans.Cells(lngRowTr, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        End If
        rngCp.Copy
        lngRowTr = lngRowTr + 1
        With wshTrans.Cells(lngRowTr, 1)
            .PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        End With
        Set rngCp = Nothing
        VBA.DoEvents
    End If
End Sub

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
28.08.2017 15:37:44 Dario
NotSolved
Blau Jede xte Zeile übernehmen
28.08.2017 20:23:06 Ben
NotSolved
29.08.2017 08:29:53 Gast47779
NotSolved
29.08.2017 13:21:17 Ben
NotSolved
03.09.2017 14:29:09 Gast32695
NotSolved