title image


Smiley MAKRO - BUG !?
Hallo,

ich möchte mit dem nachfolgenden Makro Datensätze aus verschiedenen Tabellenblättern in einem Tabellenblatt konsolidieren. Kann mir aber jemand sagen, warum der Makro immer die Daten aus Tabelle2 ("UPL2") einliest und in der Tabelle "UPL Consolidate" ausgibt, und das egal welche der Tabellen gerade ausgewählt bzw. aktiviert ist. Der Code müßte m.A.n. richtig sein - Verstehs echt nicht!!!

Wäre um jede Hilfe dankbar!

Gruß C.c.



Option Explicit



Const Blatt0 = "UPL - CONSOLIDATED"

Const Blatt1 = "UPL1"

Const Blatt2 = "UPL2"

Const Blatt3 = "UPL3"

Const Blatt4 = "UPL4"

Const Blatt5 = "UPL5"



Sub Daten_konsolidieren()



Dim MaxDatenZeile As Long

Dim Daten(0 To 7) As String

Dim Tabelle(1 To 5, 1 To 3) As Variant

Dim StartSpalte(1 To 5, 1 To 4) As Variant

Dim DatenBlatt As Long

Dim DatenBlock As Long

Dim DatenZeile As Long

Dim DatenSpalte As Long



Tabelle(1, 1) = Blatt1

Tabelle(1, 2) = 1

'----------------------------------

Tabelle(2, 1) = Blatt2

Tabelle(2, 2) = 4

'----------------------------------

Tabelle(3, 1) = Blatt3

Tabelle(3, 2) = 4

'----------------------------------

Tabelle(4, 1) = Blatt4

Tabelle(4, 2) = 1

'----------------------------------

Tabelle(5, 1) = Blatt5

Tabelle(5, 2) = 1

'----------------------------------

'----------------------------------

StartSpalte(1, 1) = 1

'----------------------------------

StartSpalte(2, 1) = 32

StartSpalte(2, 2) = 41

StartSpalte(2, 3) = 50

StartSpalte(2, 4) = 59

'----------------------------------

StartSpalte(3, 1) = 15

StartSpalte(3, 2) = 31

StartSpalte(3, 3) = 47

StartSpalte(3, 4) = 63

'----------------------------------

StartSpalte(4, 1) = 1

'----------------------------------

StartSpalte(5, 1) = 1





Sheets(Blatt0).Activate

ActiveSheet.Cells.ClearContents



For DatenBlatt = 1 To 5



Sheets(Tabelle(DatenBlatt, 1)).Activate



For DatenBlock = 1 To Tabelle(DatenBlatt, 2)



MaxDatenZeile = Sheets(Tabelle(DatenBlatt, 1)).Cells(65536, StartSpalte(DatenBlatt, DatenBlock)).End(xlUp).Row



For DatenZeile = 3 To MaxDatenZeile



For DatenSpalte = 0 To 7



Daten(DatenSpalte) = Cells(DatenZeile, StartSpalte(DatenBlatt, DatenBlock) + DatenSpalte).Value



Next DatenSpalte



Sheets(Blatt0).Activate



ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select



For DatenSpalte = 0 To 7



ActiveCell.Offset(0, 0 + DatenSpalte).Value = "'" & Daten(DatenSpalte)



Next DatenSpalte



Next DatenZeile



Next DatenBlock



Next DatenBlatt



End Sub

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: