Office: Verändern des kopier ortes um eine Zeile

Helfe beim Thema Verändern des kopier ortes um eine Zeile in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo!! Ich möchte aus einer anderen Arbeitsmappe die Zellen C10:010 kopieren. Allerdings soll, für den Fall das die While-bedingung noch erfüllt ist... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von LALE, 7. April 2009.

  1. LALE Erfahrener User

    Verändern des kopier ortes um eine Zeile


    Hallo!!
    Ich möchte aus einer anderen Arbeitsmappe die Zellen C10:010 kopieren. Allerdings soll, für den Fall das die While-bedingung noch erfüllt ist im nächsten Schritt der Zellbereich C11:O11 kopiert werden.
    Füge mal meine bisherigen Versuche an.
    Der Ort wo eingefügt werden soll ändert sich auch jeweils um eine Zeile ....
    Ich hoffe ihr könnt damit etwas anfangen!!
    Danke

    Dim i As Single
    Dim n As Integer
    Dim l As Integer
    -----------------------------------------------------------------------
    Sub Emodule_einfügen()

    i = "0,00"
    n = "0"
    l = "10"

    While ["I8"] > i

    Workbooks("Emodul_f(T)_AC22.XLS").Activate
    Worksheets("Kalibrier_Deckschicht").Select
    ActiveSheet.Range("C10+n:O10+n").Copy
    Workbooks("1_Ermuedungsfunktion_Epsilon1.XLS").Activate
    Worksheets("Eingangsdaten").Select
    ActiveSheet.Range("N,(l)").Paste
    i = i + "0,01"
    n = n + 1
    l = l + 1
    Wend

    End Sub
     
  2. Exl121150 Erfahrener User
    Hallo Lale,

    nachfolgend das Makro, das zeilenweise kopiert,
    beginnend in C10:O10, C11:O11, ...
    solange bis der Wert in Variable I größer/gleich Zelle I8 ist, wenn I jedesmal um 0,01 erhöht wird.

    Code:
    Dim i As Single   'Inkrement
    Dim n As Integer  'Quelle-Zeilenoffset
    Dim l As Integer  'Ziel-Zeilenoffset
    Sub Emodule_einfügen()
      Dim Rg_Quelle As Range
      Dim Rg_Ziel As Range
      i = 0!    'Inkrement-Start
      n = 0     'Quellzeilen-Offset
      l = 0     'Zielzeilen-Offset
      Set Rg_Quelle = Workbooks("Emodul_f(T)_AC22.XLS").Worksheets("Kalibrier_Deckschicht").Range("C10:O10")
      Set Rg_Ziel = Workbooks("1_Ermuedungsfunktion_Epsilon1.XLS").Worksheets("Eingangsdaten").Range("C10:O10")
      While [I8] > i
        Rg_Quelle.Offset(n, 0).Copy Rg_Ziel.Offset(l, 0)
        i = i + 0.01
        n = n + 1
        l = l + 1
      Wend
    End Sub
    Code mit der Maus markieren, kopieren und in ein allgem. Code-Modul der Zielmappe einfügen.
     
    Exl121150, 7. April 2009
    #2
  3. LALE Erfahrener User
    Fehlermeldung

    Also erstmal Danke schön
    Vom Aufbau sieht es so aus als würde es das machen was es soll;)
    allerdings erscheint beim ausführen der Zeile:

    "Set Rg_Ziel = Workbooks("1_Ermuedungsfunktion_Epsilon1.XLS").
    Worksheets("Eingangsdaten").Range("C10:O10")

    immer der Laufzeitfehler 9 mit der Angabe,dass der
    Index ausserhalb des gültigen Bereichs liegt.

    kannst du mir das evt. weiterhelfen?

    Danke für die Mühe,
    LALE
     
  4. Exl121150 Erfahrener User

    Verändern des kopier ortes um eine Zeile

    Hallo Lale,

    ich habe mich dabei an Deine Vorgaben gehalten, weil ich dachte, die werden doch richtig sein.
    In der fehlerhaften Zeile sind 2 Auflistungsobjekte enthalten:
    1) Workbooks("1_Ermuedungsfunktion_Epsilon1.XLS"): Damit das Excel-Makro das findet, was da in Anführungszeichen enthalten ist, muss die Excel-Datei tatsächlich vorher unter diesem Namen auf Platte gespeichert worden sein. Das kann man auch leicht kontrollieren, indem in der Kopfzeile dieser Arbeitsmappe, wenn man sie geöffnet hat, genau diese Bezeichnung (inklusive Dateierweiterung '.XLS') zu lesen ist.
    Wird die Mappe unter einem anderen Dateinamen gespeichert, so ist dieser inklusive korrekter Dateierweitung in den Anführungszeichen anzuführen.
    2) Worksheets("Eingangsdaten"): Innerhalb der Arbeitsmappe aus Punkt 1) muss es ein Arbeitsblatt mit dem Namen "Eingangsdaten" geben. Das muss genau der Name sein, der auf dem Tabulator unterhalb des Arbeitsblattes enthalten ist. Heißt jedoch das besagte Arbeitsblatt anders, weil eine andere Bezeichnung auf seinem Tabulator steht, so ist diese Bezeichnung innerhalb der Anführungszeichen zu verwenden.

    Beides muss zutreffen, sonst gibt es immer wieder einen Fehler!!
     
    Exl121150, 8. April 2009
    #4
  5. LALE Erfahrener User
    hmm..

    Also die Bezeichnung der Datei stimmt genau überein.
    Allerdings ist es eine Mustervorlage, die ja immer wenn man sie öffnet eine "1" ans Ende des Dateinamen hängt, deswegen habe ich den in VBA auch so ünernommen....
    Habe nach öffnen der Mustervorlage, diese im Zwischenschritt unter...1.xls gespeichert, damit es auch exiatiert, aber die Fehlermeldung erscheint weiterhin.Verändern des kopier ortes um eine Zeile :(
     
  6. LALE Erfahrener User
    Funtioniert

    Ich habe bei der rg_Ziel die Bezeichnung des workbooks weggelassen jetzt klappt der erste Teil schon mal super.

    Er kopiert allerdings immer eine Zeile zuviel!!

    Wie du schon geschrieben hast wird die While-Schleife durchgeführt wenn der Wert [I8] größer oder gleich i ist...
    Ich dachte dafür wäre der >= Operator??

    Auf jeden Fall darf die Zelle nur kopiert werden solange [I8] definitiv größer ist und nicht bei übereinstimmungVerändern des kopier ortes um eine Zeile :(

    Irgendwelche Änderungsvorschläge??

    Du hilfst mir übrigens enorm weiter was mein Zeitmanagement während meiner Diplomarbeit betrifft:)
    Danke
     
  7. Exl121150 Erfahrener User
    Hallo Lale,
    genau das habe ich nicht geschrieben, sondern sinngemäß (das, was sich verändert, ist die Variable I, der Inhalt von Zelle I8 bleibt konstant): sobald das 1. Mal I größer oder gleich I8 ist, wird die Schleife verlassen (solange...bis...); das Erstere wird nur so lange ausgeführt, solange nicht das Zweitere (bis) eingetreten ist.

    Bemerkung zur benutzten Schleifentechnik:
    Es ist eine sehr gefährliche Methode, eine Single-Variable (die noch dazu keine Ganzzahl enthält, also '0.1') zur Schleifensteuerung zu verwenden.
    Denn angenommen, dieser scheinbare Dezimalzahlenwert '0.1' wird intern aufgrund von unvermeidlichen Rundungsdifferenzen bei der Umwandlung von der dezimalen äußeren Gestalt in die hexadezimale interne Gleitkommadarstellung in Wahrheit mit '0.0999999999' gespeichert, bewirkt Folgendes:
    Wenn die Variable I in der Theorie bereits den Wert von [I8] haben müsste (und somit die Schleife nicht mehr ausgeführt werden dürfte), der tatsächliche Werte der Variable I jedoch nur ganz geringfügig kleiner als [I8] ist, so wird die Schleife trotzdem nochmals ausgeführt. - Das ist auch die Erklärung für das 1x-Zuviel-Kopieren.
    Da ich aber nicht wusste, was für ein Wert wirklich in [I8] enthalten ist, blieb mir nichts anderes übrig, als diese bedenkliche Schleifentechnik beizubehalten. Wenn es nach mir gegangen wäre, hätte ich die Schleifenkonstruktion in etwa so durchgeführt:
    Code:
    Dim I As Integer
    For I=0 To Round([I8]*10,0)-1
    ....
    Next I
     
    Exl121150, 8. April 2009
    #7
  8. LALE Erfahrener User

    Verändern des kopier ortes um eine Zeile

    DANKE!!

    Ich hatte ja keine Ahnung zu was ein "Single" alles fähig ist:)
    habe i jetzt in eine Integervariante verändert.
    Alles läuft prima!
    Keine weiteren Fragen, Thema beendet!

    DANKE
     
Thema:

Verändern des kopier ortes um eine Zeile

Die Seite wird geladen...
  1. Verändern des kopier ortes um eine Zeile - Similar Threads - Verändern kopier ortes

  2. Schriftart einer Tabelle im Unterformular verändern

    in Microsoft Access Hilfe
    Schriftart einer Tabelle im Unterformular verändern: Hallo, wie kann ich die Schriftart einer Tabelle ( Datenblatt ) im Unterformular verändern. Also nicht Global für alle! Mit freundlichen Grüßen
  3. Den Pfad verändern

    in Microsoft Excel Hilfe
    Den Pfad verändern: Einen schönen Sonntag erstmal in die Runde. Ich hätte noch ein Problem zu Office 2021. Beim speichern erner z. B. EXCEL Datei ist folgender Pfad aufgeführt, der mit dem FireFox Logo versehen ist....
  4. Werte um zufälligen Faktor verändern

    in Microsoft Excel Hilfe
    Werte um zufälligen Faktor verändern: Ich muss mehrere Prozent- und absolute Werte z.B. in EUR in einer Spalte um einen zufälligen Faktor von +/- 5 % erhöhen/reduzieren. Wie mache ich das? Beispiel: 5,24 EUR - 0,51 % 1,57 %...
  5. Matrix-Bezug von MTRANS-Formel dynamisch verändern?

    in Microsoft Excel Hilfe
    Matrix-Bezug von MTRANS-Formel dynamisch verändern?: Guten Abend zusammen, ich heiß Sarah und freue mich wieder ein gutes Excel-Forum gefunden zu haben, nachdem Office-Lösung.de ja leider weiterhin (?) offline ist. Folgendes Anliegen habe ich: Ich...
  6. Active-X Option Button Größe verändern

    in Microsoft Word Hilfe
    Active-X Option Button Größe verändern: Hallo, gibt es eine Möglichkeit, die Größe der Active-X Steuerelemente zu verändern? Also so, dass die Auswahlbutton selber in folgendem Bild, größer dargestellt werden? [ATTACH] Liebe Grüße.
  7. Seiteneigenschaften einer Seite verändern

    in Microsoft Word Hilfe
    Seiteneigenschaften einer Seite verändern: Ich habe mehrere Text Seiten in Word 365 erstellt und möchte einige Seiten in der Höhe anpassen, weil der Text nicht die komplette Seite ausfüllt. Dafür gehe ich unter Drucken/Seite einrichten auf...
  8. Excel Tabelle in eine andere Tabelle schreiben

    in Microsoft Excel Hilfe
    Excel Tabelle in eine andere Tabelle schreiben: Hallo Zusammen, da ich leider kein VBA kann und auch hier nichts passendes gefunden habe, würde ich mich freuen, wenn mir jemand ein kleines Makro erstellen könnte. Die Tabelle hat drei Spalten...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden