Thema Datum  Von Nutzer Rating
Antwort
30.08.2017 11:33:32 Jovo
NotSolved
30.08.2017 14:07:22 Gast70117
NotSolved
30.08.2017 14:47:31 Jovo
NotSolved
30.08.2017 15:40:28 Gast70117
NotSolved
01.09.2017 08:33:32 Jovo
NotSolved
01.09.2017 08:33:33 Jovo
NotSolved
01.09.2017 08:40:09 Jovo
NotSolved
01.09.2017 13:46:39 Gast70117
*****
NotSolved
01.09.2017 14:01:32 Jovo
NotSolved
01.09.2017 14:06:07 Jovo
NotSolved
01.09.2017 14:31:28 Jovo
NotSolved
Blau Uff
01.09.2017 18:07:47 Gast70117
NotSolved
Rot Uff
02.09.2017 16:49:21 Jovo
NotSolved
02.09.2017 17:57:43 Gast70117
NotSolved
03.09.2017 13:47:22 Jovo
NotSolved

Ansicht des Beitrags:
Von:
Gast70117
Datum:
01.09.2017 18:07:47
Views:
656
Rating: Antwort:
  Ja
Thema:
Uff
Option Explicit


Sub Tust()
'ging einfacher & unleserlicher auch noch  LOL - aber
Dim rngD As Range, rngA As Range, rngC As Range, rngZ As Range
Dim Txt As Variant, arrTxt() As String, a As Integer
Dim Flag As Integer
'wir bleiben dabei, dass die Reihenfolge der geöffneten Mappen so stimmt
' erst Mappe1, dann Mappe2
   With Workbooks(2).Sheets(1).Columns(4)
      'nur die Zellen in D wo Inhalt
      Set rngD = .ColumnDifferences(.Cells(.Cells.Count))
      'das ist womöglich ein Flickerteppich daher
      For Each rngA In rngD.Areas
         'erst über jeden Fleck
         For Each rngC In rngA.Cells
            'darin jede Zelle - erst den Spalte D - Wert
            'und was rchts von liegt mit .Offset(,Spalte[n])
            Txt = rngC.Value
            'Spalte O prüfen
            Flag = -1
            'nix drin
            If Len(rngC.Offset(, 11).Text) = "" Then Flag = 0
            'kein Trennzeichen - Komma
            If Flag = -1 And InStr(rngC.Offset(, 11).Text, ",") = 0 Then Flag = 1
            'doch ein Trennzeichen - Komma
            If Flag = -1 And InStr(rngC.Offset(, 11).Text, ",") >= 0 Then Flag = 2
            'aha, jetzt mach ein Array draus
            If Flag = 2 Then arrTxt = Split(rngC.Offset(, 11).Text, ",")
            'im Ziel
            With Workbooks(1).Sheets(1).Columns(1)
               'könnt ja doch ein Fehler aufkeimen
               On Error Resume Next
               'Flag auswerten
               Select Case Flag
                  Case 0
                     'kein O - Wert
                     'und immer schön die nächte, freie Zelle
                     Set rngZ = .Cells(.Cells.Count).End(xlUp)(2)
                     rngZ.Value = rngC.Value
                  Case 1
                     'doch ein O - Wert
                     Set rngZ = .Cells(.Cells.Count).End(xlUp)(2)
                     rngZ.Value = rngC.Value
                     If rngC.Offset(, 1).Value <> "Ilo" Then _
                        rngZ.Offset(, 1).Value = rngC.Offset(, 11).Text
                  Case 2
                     'hatte Komma, daher über das Array
                     For a = LBound(arrTxt) To UBound(arrTxt)
                      If rngC.Offset(, 1).Value <> "Ilo" Then
                        Set rngZ = .Cells(.Cells.Count).End(xlUp)(2)
                        rngZ.Value = rngC.Value
                        rngZ.Offset(, 1).Value = arrTxt(a)
                      End If
                     Next a
               End Select
               If Flag = -1 Or Err.Number <> 0 Then _
                  Call MsgBox("schon wieder was vergessen", vbInformation, "LOL")
               On Error GoTo 0
            End With
         Next rngC
      Next rngA
   End With
    
End Sub


 


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
30.08.2017 11:33:32 Jovo
NotSolved
30.08.2017 14:07:22 Gast70117
NotSolved
30.08.2017 14:47:31 Jovo
NotSolved
30.08.2017 15:40:28 Gast70117
NotSolved
01.09.2017 08:33:32 Jovo
NotSolved
01.09.2017 08:33:33 Jovo
NotSolved
01.09.2017 08:40:09 Jovo
NotSolved
01.09.2017 13:46:39 Gast70117
*****
NotSolved
01.09.2017 14:01:32 Jovo
NotSolved
01.09.2017 14:06:07 Jovo
NotSolved
01.09.2017 14:31:28 Jovo
NotSolved
Blau Uff
01.09.2017 18:07:47 Gast70117
NotSolved
Rot Uff
02.09.2017 16:49:21 Jovo
NotSolved
02.09.2017 17:57:43 Gast70117
NotSolved
03.09.2017 13:47:22 Jovo
NotSolved