Excel 2003 oder 2010 Zellen kopieren von Tab1 in Tab 2 mit vorgegeb.Koordin

wolfi9

Grünschnabel
Hallo liebe Excel Programmierer,

wer kann mir helfen?
In C1 steht immer eine Formel.

Kann leider kein VB und möchte folgende Aufgabe lösen:

Hier ist mein Aussgabgsmakro:
Visual Basic:
Sub copy()
'
' copy Makro
' Makro am 04/09/2012 von Wolfi aufgezeichnet
'
    Range("C2").Select
    Selection.copy
    Range("D5").Select
    Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End Sub
Aufgabe

Tabelle1 mit den Feldern A,B,C,
Mit dem Makro soll der Inhalt des Feldes Tabelle 1 : C1 in die Mappe Tabelle 2 mit den Koordinaten aus A1 und B1 kopiert werden.
Zeile 1: Feld A1: „D“, Feld B1: „5“, Feld C1 „Inhalt“
Ziel: Tabelle 2 mit den Koordinaten „D5“ und dem Inhalt c1
Das Makro alle Zeilen abarbeiten bis zur ersten Leerzeile.

Kenne mich leider nicht mit Variablen und Schleifen aus.
Kann mir jemand helfen?

Herzliche Grüße

Wolfi
 
Zuletzt bearbeitet von einem Moderator:
Wie ist der Inhalt der Tabelle 1 aufgebaut?

Wenn es in etwa so aussieht:

Code:
  Spalte A | Spalte B | Spalte C
1 D          5          Inhalt
2 F          6          anderer Inhalt
3 G          7          noch was anderes

dann kannst du es mit diesem Code lösen:

Visual Basic:
Sub copy()
zeile = 1
Do While Not Tabelle1.Cells(zeile, 1).Value = ""
    Tabelle2.Range(Tabelle1.Cells(zeile, 1).Value & Tabelle1.Cells(zeile, 2).Value) = Tabelle1.Cells(zeile, 3).Value
    zeile = zeile + 1
Loop
End Sub

Im Beispiel wird jetzt die Spalte A der Tabelle 1 als Abbruchbedingung benützt. Also wenn da nichts steht, wird das Makro beendet. Wenn du eine andere Spalte brauchst, einfach die Zahl auf die entsprechende Spalte ändern.
 
Zuletzt bearbeitet:
Hallo Tombe,
vielen Dank für Deine gute Lösung. Ich glaube ich kann den code sogar nachvollziehen.

Ich habe mit ein dummy makro ( copy/ mit Aufzeichnen) gemacht und dann deinen code darübercopiert und gespeichert.

Beim ausführen kommt alledings dann die Meldung:

Laufzeitfehler "424"
Objekt erforderlich.
Was muss ich verändern?



Ist ja toll dass einem innerhalb von 24 Stunden geholfen wird.

Wolfi
 
Wenn der Fehler angezeigt wird, bist du ja im Visual Basic-Editor, welche Zeile des Makros wird da ausgeführt (oder zumindest versucht)?

Das Einzige was ich mir jetzt auf die Schnelle vorstellen könnte, das die Tabellennamen nicht stimmen.
 
Hallo tombe,

durch etwas fummeln hat es jetzt einwandfrei geklappt.
Vielen Dank für deine Hilfe.
Großartige Lösung in weniger als 24h Chapeau!



Allerdings das was ich kopieren will (Zellinhalt) geht leider nicht nicht.

Das verhält sich so:

Im Lehrbuch von Herrn Schwimmer ist ein Mako "Bilderschau" das kann folgendes: automatisch Bilder einlesen und anzeigen.

geht aber nur mit jpg Bilder.

Das Makro startet, und man sucht sich in einem Auswahlfenster ein Verzeichnis aus und dann werden alle jpg Bilder ausgelesen und untereinander zeilenweise in eine Tabelle eingetragen.

Es gibt zwei Spalten mit dem Bezug (Pfad) zu dem Bildern.
Klickt man auf den Eintrag der Spalte 2 wird das Bild groß angezeigt (externer Editor), Schließen mit Klick.

bewegt (!) man den Zeiger in das andere Feld ( Spalte vorher) wird das Bild als Kleinbild sofort angezeigt (ohne Klick)
Dieses Feld ist kenntlich mit einem kleinen roten Dreieck rechts oben.

Spalte 1 hat eine feine Anzeigefunktion:
Wechselt man in ein Feld der SP1 Feld (Mauszeige im Feld) wird das bild sofort angezeigt und verschwindet wenn der MZ das Feld verläßt.

Damit kann man schnell browsen.

Da meine Bilder in ein Schachbrett eingeordnet werden müssen hatte ich mir deine obige Lösung vorgestellt.
Ich wünsche mir das die Prozedur mit dem Mauszeiger auch im kopierten Feld (Deine Lösung) erhalten bleibt.

Wenn ich "von Hand" das Feld mit dem roten Eck in Tabelle 2 kopiere funktioniert das.
Aber mir Deinem Makro ist die Anzeigefunktion - auf die es mir ankommt "tot". Irgendwie muss man den vollständigen Inhalt (Formel?) mit kopieren

Können wir hier weitermachen falls Du Interesse Hast und mich unterstützen willt.

Der Makrotext von Schwimmer ist öffentlich zugänglich (CD im Buch) . Hatte Herrn Schwimmer befragt, er war nicht bereit das Makro für mich anzupassen.


tausend Dank

Wolfi9
 
Auch wenn es so gesehen keine Rolle spielt, wer bitte ist Herr Schwimmer und von was für einem Buch redest du?

Das was du jetzt vor hast, hat im Grund ja nichts mit dem vorherigen Problem zu tun und um ehrlich zu sein ich verstehe auch nicht so ganz was du überhaupt machen willst.
 
Na das würde ich nicht unbedingt machen.

Nur weil der Quelltext des Makros im Buch/auf der CD zu sehen ist bedeutet das ja nicht das man ihn wirklich veröffentlichen darf. Kommt natürlich darauf an was im Buch dazu geschrieben steht.

Es hilft bestimmt schon das Vorhaben etwas genauer zu beschreiben oder vielleicht auch mal ein Bild hier einzustellen wie das aussieht.
 
Hallo gemeinde,
ich respektiere das copyright, deshalb poste ich das Makro auch nicht öffentlich.

Die Aufgabe ist einfach die dass in der Ausgangstabelle PIC von Schachfiguren stehen, die mit den entsprechenden Koordinaten in die zweite Tabelle übertragen werden sollen (Koordinaten x,y).

Ich habe mir die Ausgangstabelle untersucht ( Feld das kopiert werden soll, und das als Kommentar ; rotes Dreieck formatiert ist) ) und folgenden Eintrag im Kommentar gefunden:

Feld mit rotem Eck)

E:\MZ\001excekmak\MKM_PF7010005.jpg

Wenn ich von Hand kopiere mit dem Befehl "Inhalt kopieren/ Format " dann wird alles korrekt übertragen.
Offenbar wird nur der Text ohne Formatierung kopiert.

D.H. im obigen Makro sollte diese Eigenschaft mit eingeschlossen sein.
Bin mir sicher dann gehts.

Habe ich noch einen Versuch frei?

Wäre super.

Wolfi
 
Das Range-Objekt hat eine "PasteSpecial"-Methode, welche ein "Paste"-Argument besitzt, welches einen oder mehrere Werte der xlPasteType-Enumeration beinhalten kann.
 

Neue Beiträge

Zurück