Thema Datum  Von Nutzer Rating
Antwort
27.08.2013 12:15:58 Lenne
NotSolved
Blau Makro gesucht
30.08.2013 13:32:08 Gast85571
NotSolved

Ansicht des Beitrags:
Von:
Gast85571
Datum:
30.08.2013 13:32:08
Views:
983
Rating: Antwort:
  Ja
Thema:
Makro gesucht
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Option Explicit
 
Public Sub Beispiel()
   
  Dim blnEE As Boolean
  Dim blnSU As Boolean
   
  blnEE = Application.EnableEvents
  blnSU = Application.ScreenUpdating
  Application.EnableEvents = False
  Application.ScreenUpdating = False
   
  On Error GoTo ErrHandler
   
  Dim wksQuelle As Excel.Worksheet
  Dim wksZiel As Excel.Worksheet
  Dim rngQuelle As Excel.Range
  Dim rngZiel As Excel.Range
  Dim rngZeile As Excel.Range
   
  Set wksQuelle = Worksheets("Tabelle1"' <- anpassen
  Set wksZiel = Worksheets("Tabelle2")    ' <- anpassen
   
  ' Der Bereich der vollständigen Tabelle
  Set rngQuelle = wksQuelle.Range("A1").CurrentRegion ' <- ggf. Bereich (hier 'A1') anpassen
   
  If rngQuelle.Columns.Count < 3 Then
    Call MsgBox("Tabelle muss mindestens 3 Spalten umfassen." & vbNewLine & _
                "Vorgang wird abgebrochen.", _
                vbExclamation)
    GoTo SafeExit
  End If
   
  ' obere, linke Ecke (=Zelle) der Ausgabe
  Set rngZiel = wksZiel.Range("B2") ' <- ggf. Bereich (hier 'B2') anpassen
   
  'Kopfzeile schreiben
  rngZiel.Resize(ColumnSize:=3).Value = Array("Teil", "LO", "MELDE")
  Set rngZiel = rngZiel.Offset(RowOffset:=1)
   
  With rngQuelle.Resize(RowSize:=rngQuelle.Rows.Count - 1).Offset(RowOffset:=1)
     
    For Each rngZeile In .Rows
       
      ' Teil schreiben
      rngZiel.Resize(RowSize:=rngZeile.Cells.Count - 2).Value = rngZeile.Cells(1).Value
      ' LO schreiben
      Call rngZeile.Resize(ColumnSize:=rngZeile.Cells.Count - 2).Offset(ColumnOffset:=1).Copy
      Call rngZiel.Offset(ColumnOffset:=1).PasteSpecial(xlPasteValues, Transpose:=True)
      'MELDE schreiben
      rngZiel.Offset(ColumnOffset:=2).Value = rngZeile.Cells(rngZeile.Cells.Count).Value
       
      ' an die Stelle für die nachfolgende Ausgabe springen
      Set rngZiel = rngZiel.Offset(RowOffset:=rngZeile.Cells.Count - 2)
    Next
     
  End With
   
  If Not ActiveSheet Is Nothing Then
    If Not rngZiel.Worksheet Is ActiveSheet Then
      Set wksQuelle = ActiveSheet ' aktuell sichtbare Arbeitsblatt merken
      rngZiel.Worksheet.Activate
      rngZiel.Select
      Call wksQuelle.Activate ' das zuvor sichtbare Arbeitsblatt wieder anzeigen
    Else
      rngZiel.Select
    End If
  End If
   
  GoTo SafeExit
ErrHandler:
  Call MsgBox(Err.Description, vbCritical, "Fehler " & Err.Number)
   
SafeExit:
  Application.CutCopyMode = False
  Application.EnableEvents = blnEE
  Application.ScreenUpdating = blnSU
   
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
27.08.2013 12:15:58 Lenne
NotSolved
Blau Makro gesucht
30.08.2013 13:32:08 Gast85571
NotSolved