Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1224to1228
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Messreihen

Messreihen
gerhard
Bitte um VBA Hilfe,
Wie kann ich eine dynamische Messreihe wo die Messwerte in Tabelle1 und den Spalten A und B abgelegt sind und viele Seiten lang sein können
auf die Tabelle 2 auf 1 Seite (Querformat) nebeneinander übertragen?
d.h.
Die Werte der Spalte A+B von der 1.Seite aus der Tabelle1 in
Tabelle2 in Spalte A+B übernehmen, dann
die Werte der Spalte A+B von der 2.Seite aus der Tabelle1 in
Tabelle2 in Spalte C+D übernehmen, dann
die Werte der Spalte A+B von der 3.Seite aus der Tabelle1 in
Tabelle2 in Spalte E+F übernehmen, usw.... bis alle Daten von
Tabelle1 in die Tabelle2 nebeneinander übernommen worden sind!
Vielen Dank für die Hilfe
Gruß Gerhard

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Messreihen
25.08.2011 08:32:11
Herby
Hallo Gerhard,
wieviel Messwerte stehen auf einer Seite in der Tabelle1 ?
oder anders gefragt, wieviele Zeilen sollen in Tabelle 2 stehen?
Viele Grüße
Herby
AW: Messreihen
25.08.2011 08:41:56
gerhard
Hallo Herby,
es sollen 50 Zeilen in Tabelle 2 übernommen werden
Gruß Gerhard
Daten umschaufeln mit INDEX
25.08.2011 09:41:19
Erich
Hi Gerhard,
probiers mal mit dieser Formel:
 ABCDEFG
1wertA1wertB1wertA51wertB51wertA101wertB101wertA151
2wertA2wertB2wertA52wertB52wertA102wertB102wertA152
3wertA3wertB3wertA53wertB53wertA103wertB103wertA153

Formeln der Tabelle
ZelleFormel
A1=WENN((ZEILE()>50)+(50*KÜRZEN((SPALTE()-1)/2)+1+REST(ZEILE()-1;50)>ANZAHL2(Quell!$A:$A)); "<leer>"; INDEX(Quell!$A:$B;50*KÜRZEN((SPALTE()-1)/2)+1+REST(ZEILE()-1;50); 1+REST(SPALTE()+1;2)))

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Daten umschaufeln mit INDEX
25.08.2011 10:04:47
gerhard
Hallo Erich,
Vielen Dank erstmal für deine Hilfe,
mir wäre eine VBA Lösung lieber, weil die Messdaten zum einen dynamisch lang sind und zum anderen
die Messdaten immer in einer eigenen Datei abgespeichert sind!
Nach laden der Messdatei möchte ich die Messdateien nur mit einem Druck auf einen Button so wie oben erwähnt aufbereiten!
Gruß Gerhard
Daten umschaufeln mit VBA
25.08.2011 11:12:19
Erich
Hi Gerhard,
einfacher wäre es gewesen, wenn du gleich genauer geschrieben hättest, was du möchtest.
"Tabelle 1" ist (auch) für mich ein Tabellenblatt - keine Excelmappe/Datei.
Leichte Unklarheiten gibt es auch jetzt noch:
1.
Wo sollen sich der Button und die Prozedur befinden? In der Zielmappe? Oder einer eigenen (dritten) Mappe?
2.
Soll der Name der Quellmappe in der Prozedur stehen? Oder wo soll er herkommen?
3.
Soll als Zielbereich immer derselbe Bereich im selben Blatt derselben Mappe verwendet werden?
Was, wenn da schon Daten stehen? Sollen die alten Daten gelöscht werden?
Probier mal:

Option Explicit
Sub Umschaufel()
Dim wksQ As Worksheet, wksZ As Worksheet
Dim lngQ As Long, arrQ, arrZ, zz As Long, ss As Long
Const lngS As Long = 50
Set wksQ = Workbooks("INDEX-Umschaufel.xlsm").Worksheets("Quell")
Set wksZ = Workbooks("INDEX-Umschaufel.xlsm").Worksheets(2)
With wksQ
lngQ = .Cells(.Rows.Count, 1).End(xlUp).Row
arrQ = .Cells(1, 1).Resize(lngQ, 2)
End With
ReDim arrZ(1 To lngS, 1 To 2 * Fix((lngQ + lngS - 1) / lngS))
For zz = 1 To lngS
For ss = 0 To UBound(arrZ, 2) / 2 - 1
If zz + ss * lngS 
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Messreihen
25.08.2011 10:13:49
Henrik
Hallo Gerhard,
füge im VB Editor deiner Arbeitsmappe ein Modul ein. Füge folgenden Code ein.
Dieser Code kopiert aus ALLEN ARBEITBLÄTTERN deiner ARBEITSMAPPE mit den Quelldaten den Bereich "A1:B50" und fügt diesen Bereich in die ARBEITSMAPPE mit den Zieldaten auf dem ARBEITSBLATT "Tabelle1" nebeneinander in die Spalten ein. Die zu kopierenden Bereich und NAmen musst du entsprechend anpassen.
Option Explicit
Public Const Quelle As String = "MAPPE1"    ' hier den Namen anpassen
Public Const Ziel As String = "MAPPE2"      ' hier den Namen anpassen
Sub kopieren_einfügen()
Dim wks As Worksheet, zae1 As Long
For Each wks In Workbooks(Quelle).Worksheets
zae1 = zae1 + 2
wks.Range(wks.Cells(1, "A"), wks.Cells(50, "B")).Copy _
Destination:=Workbooks(Ziel).Worksheets("Tabelle1").Cells(1, zae1 - 1)
Application.CutCopyMode = False
Next
End Sub
Gruß Henrik
Anzeige
:) Thema wohl vefehlt
25.08.2011 10:17:58
Henrik
Da habe ich deine Anforderung wohl falsch verstanden.
Ich dachet Seite wäre ein Tabellenblatt und mit Tabelle meinst du Arbeitsmappe.
Na ja, dann hast du schon mal einen kleinen VBA Ansatz :)
Gruß Henrik
AW: :) Thema wohl vefehlt
25.08.2011 11:09:59
gerhard
Hallo Henrik,
nochmals zum Verständnis!
Die Messdaten werden in einer Exceldatei abgespeichert und liegen darin im Tabellenblatt1 in den Spalten A+B vor.
Die Länge der Messreihen ist dynamisch.
Diese können mal je nach Messeinstellung von A1 bis B1000 oder bei einer anderen Einstellung
von A1 bis B3000 usw... varieren.
Wenn ich nun diese langen Messwertreihen aus der Tabelle1 ausdrucken möchte, kann es schon mal vorkommen, dass dies mehr als 20 Seiten sind!
Um dies zu vermeiden und aus übersichtsgründen möchte ich die Messreihen in der gleichen Arbeitsmappe nur nebeneinander in das Tabellenblatt2 übertragen (wie oben beschrieben).
Noch eine Anmerkung:
Im Tabellenblatt1 in der Spalte A sind 2 Zelleinträge farbig markiert (gelb).
Können diese beiden Formate für diese Zelle beim Übertrag mit übernommen werden!
Danke
Gruß Gerhard
Anzeige
AHHHH
25.08.2011 11:37:02
Henrik
Hallo Gerhard,
du hast also mehr oder weniger ein Problem beim Drucken.
Du möchtest mehr oder weniger die Anzahl der auszudruckenden Seiten reduzieren.
Das geht so einfach leider nicht. Wir wissen ja nicht wie deine ausgedruckten Blätter aussehen sollen.
Heißt, wieviel Rand ist links und recht, Gibt es Kopf- und Fußzeilen, sollen sich bestimmte Zeilen auf jeder Seite wiederholen,...
Die Länge des Wertes in den Zellen spielt natürlich auch eine Rolle,. Die schriftgröße, etc.
Das geht leider so einfach nicht!
Da spielen so viele Faktoren eine Rolle, die wir hier so pi mal Daumen nicht berücksichtigen können.
Gruß Henrik
Anzeige
AW: AHHHH
25.08.2011 11:47:21
gerhard
Hallo Henrik,
ich möchte nur, wie von Erich bereits schon als Formellösung eingestellt
dafür eine VBA-Lösung!!!
Gruß Gerhard
Messreihen umsortieren per VBA
25.08.2011 12:04:00
NoNet
Hallo Gerhard,
der folgende Code sollte das erledigen :
Sub Messreihen_Umsortieren()
Dim lngZ As Long, lngLZ As Long
Const lngMax = 50 'Maximale Anzahl Zeilen pro Spalte - inkl. Überschrift
lngLZ = Cells(Rows.Count, 1).End(xlUp).Row
For lngZ = lngMax + 1 To lngLZ Step lngMax
Cells(1, 2 * (lngZ \ 50) + 1) = [A1]  'Überschrift Spalte A
Cells(1, 2 * (lngZ \ 50) + 2) = [B1] 'Überschrift Spalte B
Cells(lngZ, 1).Resize(lngMax - 1, 2).Cut Cells(2, 2 * (lngZ \ 50) + 1)
Next
End Sub
Gruß, NoNet
Exceltreffen 28.-30.10.2011 in Chemnitz
Ein Treffen für alle Excel-Freunde und Besucher deutschsprachiger Excel-Foren.
Alle Infos - Programm - Anmeldung - Teilnehmerliste etc. gibt es auf
http://www.exceltreffen.de/index.php?page=211
Wir freuen uns auf euch...

Anzeige
AW: Messreihen umsortieren per VBA
25.08.2011 19:49:50
gerhard
Hallo NoNet,
Vielen Dank für die Hilfe
Gruß Gerhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige