VBA: Werte aus Tab1 nach Tab2 kopieren

Bild

Betrifft: VBA: Werte aus Tab1 nach Tab2 kopieren
von: Fritz
Geschrieben am: 21.09.2003 20:24:36

Hallo VBA-Experten,
ich bitte schon wieder um eure Hilfe:
In der Tabelle V1 habe ich in der Zeile B (Bereich B4:B60) Werte stehen, die ich in die Tabelle W1 kopieren möchte, wenn folgende Voraussetzungen vorliegen.
In der Spalte I der Tabelle V1 kann in den Zeilen B4:B60 ein "x" eingetragen werden. Dabei sollen nun die Werte der Spalte B aus denn Zeilen, in denen in der Spalte I ein "x" eingetragen wurde, in die Tabelle W1 Spalte C (ebenfalls ab Zeile 4) kopiert werden und zwar in der Reihenfolge, wie sie zeilenweise in Tabelle V1 stehen. Analog sollen die weiteren 29 Spalten rechts der Spalte I (also der die Spalten bis AL) überprüft und dabei jeweils die Werte aus Spalte B nach Tabelle W1 kopiert werden (ebenfalls Spalten rechts von B, somit die Spalten bis AF).
Ich hoffe sehr, dass einer von euch Experten mir die erforderliche Hilfe anbieten kann.
Bei Bedarf kann ich die entsprechende Datei hochladen.

Mfg
Fritz

Bild


Betrifft: AW: VBA: Werte aus Tab1 nach Tab2 kopieren
von: Björn B.
Geschrieben am: 21.09.2003 22:08:55

Hallo Fritz,

soll das Kopieren sobald Du ein x einträgst geschehen oder kann das ganze auch über einen Button gestartet werden?

Generell ist gegen eine Musterdatei nichts einzuwenden.

Gruß
Björn


Bild


Betrifft: AW: VBA: Werte aus Tab1 nach Tab2 kopieren
von: Fritz
Geschrieben am: 22.09.2003 05:51:33

Hallo Björn,
zunächst vielen Dank, dass Du mir helfen willst.
Zu Deiner Frage:
Das ganze sollte nicht unmittelbar nach Eintragen der "x" geschehen, sondern über einen Button zu einem ausgewählten Zeitpunkt. Damit Du besser klar kommst, lade ich die Datei hoch.
Gruß
Fritz

https://www.herber.de/bbs/user/1113.xls


Bild


Betrifft: AW: VBA: Werte aus Tab1 nach Tab2 kopieren
von: Björn B.
Geschrieben am: 23.09.2003 01:23:12

Hallo Fritz,

füge in eines Deiner Tabellenblätter einen Button ein und hinterlege dort folgenden Code


Dim Namen() As String
Dim Anzahl As Integer
Dim Spalte As Integer
Dim Zeile As Integer
Dim Reihe As Integer

Anzahl = 0

'Zunächst werden ab Zeile 4 alle gefüllten Zellen in Spalte B auf Blatt V1 in eine
'Feldvariable namens Namen geschrieben.
Do While ThisWorkbook.Sheets("V1").Cells(4 + Anzahl, 2) <> ""
Anzahl = Anzahl + 1
ReDim Preserve Namen(Anzahl)
Namen(Anzahl) = ThisWorkbook.Sheets("V1").Cells(4 + Anzahl - 1, 2)
Loop

'Dann wird über alle Spalten (I bis AC) und alle Zeilen (wie in Spalte B vorgefunden
'geprüft, ob ein "x" eingetragen ist. Ist dies der Fall wird aus dem Feld Namen der
'relevante Feldinhalt auf Blatt "W1" geschrieben.
For Spalte = 9 To 43
Reihe = 1 'Bei jeder neuen Spalte wird Reihe zurückgesetz, damit die Einträge
'auf Blatt "W1" wieder oben anfangen.
For Zeile = 1 To Anzahl
If ThisWorkbook.Sheets("V1").Cells(3 + Zeile, Spalte) = "x" Then
ThisWorkbook.Sheets("W1").Cells(3 + Reihe, Spalte - 6) = Namen(Zeile)
Reihe = Reihe + 1
End If
Next Zeile
Next Spalte


Falls es klappt wäre ich für eine Rückmeldung dankbar, falls nicht ist es in Deinem Interesse nochmal nachzufragen.

Gruß
Björn B.


Bild


Betrifft: AW: VBA: Werte aus Tab1 nach Tab2 kopieren
von: Fritz
Geschrieben am: 23.09.2003 06:06:49

Hallo Björn,
zunächst möchte ich Dir mitteilen, dass Dein Makro genau so funktioniert, wie ich mir das erhofft hatte.
Dann möchte ich mich aufrichtig bei Dir dafür entschuldigen, dass ich in einem neuen Thread eine neue (ähnliche) Aufgabe ins Forum stellte. Ich habe meinen Fehler eingesehen.
Ich war mir aber nicht sicher, ob ich (da absoluter Anfänger in Sachen VBA) diese ähnliche Aufgabe allein mit der Lösung der Ursprungsaufgabe selbst bewältigen kann. Aber ich hätte abwarten sollen und es zumindest versuchen. Ich werde sowas bestimmt nicht wieder tun und wäre froh, wenn Du diese Entschuldigung akzeptierst.
Nochmals vielen Dank für Deine Mühen.
Mfg
Fritz


Bild


Betrifft: Entschuldigung akzeptiert
von: Björn B.
Geschrieben am: 23.09.2003 22:51:59

Hallo Fritz,

es freut mich, dass das Makro läuft und noch mehr freut mich Deine Entschuldigung.

Sie zeigt, dass ich meine Zeit dann doch in den Richtigen investiert habe, auch wenn
Du von anderer Stelle vielleicht schon vorher die Lösung hattest.

Gruß
Björn


 Bild

Beiträge aus den Excel-Beispielen zum Thema " VBA: Werte aus Tab1 nach Tab2 kopieren"