Anzeige
Archiv - Navigation
1296to1300
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

Mittels VBA Werte in anderes Tabellenblatt kopiere

Mittels VBA Werte in anderes Tabellenblatt kopiere
30.01.2013 11:03:50
Dominic
Hi zusammen,
Ich benötige eine Übergabe meiner Werte aus dem Tabellenblatt "Überblick" ins Tabellenblatt "Export". Der zu kopierende Bereich ist abhängig von folgenden Zellen:
B1
B2
I1
und B6.
1)
Wenn B1=1 und B2=1 und I2=1
Dann sollen die Werte aus B31 - O31 und jede 6. Zeile in das Tabellenblatt Export untereinander ab B13-O13 rein kopiert werden, aber nur die Werte - nicht die Formeln die im Blatt "Überblick" dahinter stehen. Außerdem müssen diese übertragenen Werte dann als "Währung" mit € Symbol formatiert werden, und jede zweite Zeile farbig (z. B. grau) hinterlegt werden - zur besseren Übersichtlichkeit.
Heißt Nach B31-O31 kommt B37-O37, dann B43-O43 usw.
Das ganze bis zum Ende - abhängig von Zelle B6, denn wenn
B6= 2 dann bis zur Zeile 1128
B6= 3 dann bis 978
B6= 4 dann bis 1602
B6= 5 dann bis 1.998
B6= 6 dann bis 1.086
B6= 7 dann bis 1.440
2)
Wenn B1=2 und B2=1 und I2=1 Dann sollen die Werte aus den Zellen B31- bis zum Ende O... abhängig von Zeile B6 übertragen werden. Wichtig hierbei ist, dass jede 6 Zeile also B36, dann B42, B48 usw. wenn sie ins Tabellenblatt Export übertragen wird, die Zeilenhöhe 4.5 Rows(Ze).RowHeight = 4.5 zugewiesen bekommt - und als Zellenhintergrundfarbe die Farbe 477335 (VBA Farbcode).
Außerdem muss hierbei beachtet werden dass die Zellen unterschiedliche Formatierungen Währung oder Prozent aufweisen. Idealerweise sollten diese ebenfalls mit übernommen werden.
In Spalte B sind immer nur Überschriften ( Texte ) für die rechts daneben liegenden Werte aufgeführt. Ab Spalte C-O jeweils folgen dann folgende Formatierungen
C31:O31 - Währung
C32:O32 - Währung
C33:033 - Währung
C34:O34 - Prozent (2 Nachkommastellen)
C35:O35 - Währung
Zeile 36 vollständig leer mit oben genannter "Füllfarbe".
Ab C37:O37 läuft es nach diesem Muster so weiter.
und Zeile 42 ist dann wieder leer - "als optische Abtrennung" zwischen den Zeilen, zur Steigerung der Übersichtlichkeit.
3)
Wenn B1=1 und B2=2 und I2=1
Dann sollen die Werte aus dem Tabellenblatt B2006:O2336 in das Tabellenblatt Export übernommen werden. Idealerweise mit den gleichen Zellformatierungen wie die Ursprungsdaten aus B2006 bis =2336 im Tabellenblatt Überblick. Heißt selbe Rahmenlinien, selbe Formatierung (Prozent oder Zahl, Schriftgröße usw).
Aus einem vorherigen Thread hier in diesem Forum habe ich folgendes VBA Script erhalten:
Dim Ze As Long
For Ze = 36 To 1164 Step 6
Rows(Ze + 1).EntireRow.Hidden = False
Next
ElseIf [B6] = 3 And [B2] = 1 Then
For Ze = 36 To 1014 Step 6
Rows(Ze + 1).EntireRow.Hidden = False
Next
ElseIf [B6] = 4 And [B2] = 1 Then
For Ze = 36 To 1638 Step 6
Rows(Ze + 1).EntireRow.Hidden = False
Next
ElseIf [B6] = 5 And [B2] = 1 Then
For Ze = 36 To 1974 Step 6
Rows(Ze + 1).EntireRow.Hidden = False
Next
ElseIf [B6] = 6 And [B2] = 1 Then
For Ze = 36 To 1122 Step 6
Rows(Ze + 1).EntireRow.Hidden = False
Next
ElseIf [B6] = 7 And [B2] = 1 Then
For Ze = 36 To 1476 Step 6
Rows(Ze + 1).EntireRow.Hidden = False
Next
End If
und folgendes Script zur "Übergabe" bestimmter Daten in ein anderes Tabellenblatt (Export).
Dim D
D = Sheets("Überblick").Range("I7").Value
Sheets("Export").Range("J8").Value = D 'Jahr
Die beiden funktionieren super, aber ich muss nun beide kombinieren, und das bekomme ich nicht hin.
Vielen Dank im Voraus! :)

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mittels VBA Werte in anderes Tabellenblatt kopiere
30.01.2013 12:28:32
Armin
Hallo Dominic,
warum machst Du es nicht etwas einfacher? Kopierst den Code hier ins Forum anstatt uns gleich ein Mustersheet zur Verfügung zu stellen. Das kann doch nicht der Sinn sein. Ich habe mir jetzt wieder vorgenommen auf Anfragen ohne Muster/Demo Sheets nicht mehr zu antworten.
Grüße
Armin

AW: Mittels VBA Werte in anderes Tabellenblatt kopiere
30.01.2013 13:00:20
Dominic
Hi,
weil ich keine Musterdatei dafür habe. Ich habe angeommen den oben genannten VBA Code zum kopieren der Daten kann einfach mit dem anderen Code - "jede 6 Zeile" kombiniert werden, die Bedingungen/ Abhängigkeiten eingefügt werden und das wäre es. :-)
Hier findest du noch eine alte Musterdatei.
https://www.herber.de/bbs/user/83437.xlsx
Die Makros zum Ausblenden und Einblenden der jeweiligen Zeilen sind nicht enthalten, dennoch kann hier aber einwandfrei der "Export" bzw. der Kopiervorgang der Daten aus Tabelle "Überblick" in das "Tabellenblatt" Export ausprobiert werden.
Bitte beachte, dass bei mir mittlerweile noch eine weitere Zeile unter "Zielerreichung" steht in der ebenfalls wieder "Währungen" eingetragen sind. Ansonsten kann anhand dieser Musterdatei die Übergabe eigentlich ausprobiert werden.
Danke! :)

Anzeige
== Frage noch offen! ==
31.01.2013 09:51:33
Dominic
Hi,
hast du eine Lösung Armin oder weiß sonst jemand weiter wie ich den Code erstellen muss?
Vielen Dank!

AW: == Frage noch offen! ==
31.01.2013 10:17:26
Armin
Guten morgen Dominic,
sorry mir ist das zu viel Aufwand das alles zusammen zu fieseln. Ich bin raus.
Gruß Armin

AW: == Frage noch offen! ==
31.01.2013 11:18:26
Dominic
Hi Armin,
wenn du mir "nur" den Code so anpassen könntest, dass ich jede 6 Zeile kopiere, kann ich den rest selbst versuchen.
Gibt es auch einen VBA Code der dann beim kopieren die Ursprungsformatierung der Ausgangszelle übernehmen kann und zusätzlich mit kopiert? Dann muss auch das nicht separat alles eingetragen werden.
Vielen Dank und viele Grüße

Anzeige
AW: == Frage noch offen! ==
31.01.2013 11:53:22
Dominic
Habs herausgefunden.
Selection.SpecialCells(xlCellTypeVisible).Select
Range("B27:O1153").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Export").Select
Range("B13").Select
ActiveSheet.Paste
Range("B21").Select
Makro Rekorder sei dank - das muss ich nur noch mit ner IF Bedingung knüpfen und das wars.
Danke trotzdem

zu viele Select ...... owT
31.01.2013 20:01:50
robert

AW: zu viele Select ...... owT
31.01.2013 20:05:13
Hajo_Zi
Range("B27:O1153").SpecialCells(xlCellTypeVisible).Copy _
Sheets("Export").Range("B13")

Anzeige
AW: zu viele Select ...... owT
01.02.2013 10:27:16
Dominic
Hallo Hajo,
danke aber leider funktioniert es so nicht. Es erscheint die Fehlermeldung "Laufzeitfehler 1004. Die Copy-Methode des Range-Objektes konnte nicht ausgeführt werden.
Was bedeutet das und wie lautet der Code korrekt?

AW: zu viele Select ...... owT
01.02.2013 17:08:07
Hajo_Zi
in mmeiner Datei lief der Code ohne Fehler, wenn mir auch nicht klart ist was er macht.
Gruß Hajo

347 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige