Herbers Excel-Forum - das Archiv

VBA: ausgewählte Namen in neue Liste kopieren

Bild

Betrifft: VBA: ausgewählte Namen in neue Liste kopieren
von: Fritz
Geschrieben am: 22.09.2003 18:31:37
Hallo Excelfreunde und VBA-Profis,
wer kann mir helfen, die folgende Aufgabe zu realisieren.
In der Tabelle "A1" habe ich in der Spalte B im Bereich B4:B60 eine Namensliste.
In der Spalte C habe ich diesen Namen in C4:C60 unterschiedliche Zahlen stehen.
Ich möchte nun die Namen (aus Spalte B!), denen in der Spalte C eine 1 zugeordnet wurde, in die Tabelle "B1" in die Spalte E ab Zeile 4 kopieren.
Für jede Form von Hilfe danke ich bereits an dieser Stelle.
Mfg
Fritz

Bild

Betrifft: AW: VBA: ausgewählte Namen in neue Liste kopieren
von: Holger Levetzow
Geschrieben am: 22.09.2003 18:49:51
versuche es so:
Sub test()
zeile = 4
For z = 4 To 60
If Sheets("A1").Cells(z, 3) = 1 Then
Sheets("B1").Cells(zeile, 5) = Sheets("A1").Cells(z, 2)
zeile = zeile + 1
End If
Next
End Sub

Holger
Bild

Betrifft: Danke Holger - noch eine Frage
von: Fritz
Geschrieben am: 22.09.2003 19:39:13
Hallo Holger,
ich habe dein Makro getestet, funktioniert wie (zunächst) geplant. Vielen Dank.
Ich würde nun gern das Makro so erweitern, dass ich nicht nur in der Spalte C (der Ursprungstabelle "A1", in den Zeilen 4 bis 60 Zahlen eingebe, sondern auch in den nächsten 19 Spalten rechts daneben, also in den Spalten D bis V, dabei sollen in der Zieltabelle "B1" die entsprechenden Namen ebenso in die weiteren 19 Spalten rechts neben der Spalte E (also in die Spalten F bis Z) (ab Zeile 4) übernommen werden.
Könntest Du mir zeigen, wie ich in diesem Fall das Makro ändern muss.
Mfg
Fritz
Bild

Betrifft: AW: Danke Holger - noch eine Frage
von: Reinhard
Geschrieben am: 22.09.2003 21:06:44
Hallo Fritz,
probier das mal:
Sub test()
For z = 4 To 60
If Sheets("A1").Cells(z, 3) = 1 Then
Sheets("B1").Cells(z, 5) = Sheets("A1").Cells(z, 2)
Sheets("A1").Range("D" & z & ":V" & z).Copy Destination:=Sheets("B1").Range("F" & z)
End If
Next
End Sub

Gruß
Reinhard
Bild

Betrifft: Danke Reinhard
von: Fritz
Geschrieben am: 22.09.2003 21:45:05
Hallo Reinhard,
ich habe dein Makro getestet.
Die Namen werden leider nur in die erste Spalte nach "B1" kopiert. In den anderen Spalten taucht statt der Namen die 1 auf. Wie muss ich den Code ändern, dass die Namen kopiert werden.
Auf jeden Fall danke für deine bisherige Hilfe.
Gruß Fritz
Bild

Betrifft: AW: Danke Reinhard
von: HerbertH
Geschrieben am: 22.09.2003 22:43:00
Hallo Fritz,
wenn ich dich richtig verstanden habe,
müßte das funktionieren:


Gruß Herbert
Bild

Betrifft: AW: Danke Herbert
von: Fritz
Geschrieben am: 23.09.2003 18:27:35
Hallo Herbert,
ich habe Dein Makro getestet. Die Sache funktioniert jetzt insoweit, als dass jetzt die Namen und nicht die Zahl 1 in allen Spalten erscheint. Allerdings wollte ich eigentlich, dass die Namen erscheinen, für die in der entsprechenden(!) Spalte der Ursprungstabelle eine 1 eingetragen wurde. Es erscheinen in der Zieltabelle aber in jeder Spalte die gleichen Namen, somit die Namen, denen in der betreffenden Zeile der ersten(!) Spalte der Ursprungstabelle die 1 eingetragen wurde.
Ist aber nicht weiter schlimm, da mir inzwischen geholfen werden konnte.
Ich bedanke mich herzlich für die angebotene Hilfe und Deine Mühen.
Gruß
Fritz
Bild

Betrifft: AW: VBA: ausgewählte Namen in neue Liste kopieren
von: Björn B.
Geschrieben am: 23.09.2003 01:53:34
Na klasse,

ich zerbrech mir den Kopf, verschwende meine Zeit für den Thread "VBA: Werte aus Tab1 nach Tab2 kopieren - Fritz 21.09.2003 20:24:36" und Du postest den gleichen Sch... nicht einmal einen Tag später noch einmal.

Dafür ist mir meine Zeit zu schade!

Björn
 Bild
Excel-Beispiele zum Thema " VBA: ausgewählte Namen in neue Liste kopieren"
Blätter in andere Arbeitsmappen kopieren Module von Mappe zu Mappe kopieren
Arbeitsblatt 40 mal kopieren Schriftgröße beim Kopieren verdoppeln
Beim Kopieren auch die Zeilenhöhe und Spaltenbreite übernehmen Tabellencode nach Kopieren des Blattes löschen
Arbeitsmappe blitzschnell kopieren VBE-Namen der Blattmodule beim Kopieren festlegen
Blattinhalt von einer zur anderen Arbeitsmappe kopieren Formel bis zur letzten Zeile der Nebenspalte kopieren