Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Range als Variable speichern

Range als Variable speichern
09.02.2004 20:21:40
Markus
Hallo zusammen
Habt ihr eine Idee (Ahnung)wie ich untenstehende Markierung speichern könnte?
Rows(Zellenanf & ":" & rowy).Cut
Diesen Zeilenbereich möchte ich zwischenspeichern.
Weil die Zwischenablage weiterbenutzt wird und nichts mehr drinsteht bis
ich die Daten brauche.
Gruss Markus

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range als Variable speichern
09.02.2004 20:35:29
andre
hallo markus,
den bereich hast du doch schon mit den variablen. da schneidest du es später aus.
oder brauchst du die daten? dann lege sie irgendwo hin, wo sich gerade nichts tut.
gruss andre
AW: Range als Variable speichern
09.02.2004 20:46:36
Markus
Hallo Andre
Ja ich brauch die Daten.
Ich hab mir gedacht ich könnte den Bereich in eine Variable speichern.
Weil in der Zwischenzeit andere Kopier und Einfügebefehle erfolgen.
Gruss Markus
AW: Range als Variable speichern
09.02.2004 20:38:48
Heinz A. Wankmüller
Hallo Markus,
so z.B.

Sub MarkSichern()
Dim rng As Range
Set rng = Rows(Zellenanf & ":" & rowy)
End Sub

Gruß
Heinz
AW: Range als Variable speichern
09.02.2004 20:55:12
Josef Ehrensberger
Hallo Markus!
Die Daten kannst Du in ein Array schreiben und darauf
wieder zugreifen.
Beispiel:


Sub beispiel()
Dim myArr() As Variant
myArr = Rows(Zellenanf & ":" & rowy).Value
Rows("15:24") = myArr
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: Range als Variable speichern
09.02.2004 21:15:52
Markus
Hallo Sepp
Sieht gut aus. Bei mir kommmt aber der Fehler 13 Typen unverträglich.
Dim arr() As Variant
arr = Rows(Zellenanf & ":" & rowy)
Hast du eine Idee
Gruss Markus
.Value !
09.02.2004 21:30:39
Josef Ehrensberger
Hallo Markus!
Du hast das .Value vergessen.
arr = Rows(Zellenanf & ":" & rowy).Value
Gruß Sepp
AW: .Value !
09.02.2004 21:50:55
Markus
Hallo Sepp
ok.es funzt. aber nur bis zur Zuweisung.
Aber...
Vorher hab ich das so gemacht:
Rows(Adress & ":" & Adress).Select
Selection.Insert Shift:=xlDown 'kopierte Zellen werden eingefügt
Wenn ich jetzt den Range zuweise,
Code: Rows(Adress & ":" & Adress).Value = arrSchrittAusschneiden
werden doch jetzt die unteren Zeilen überschrieben oder? Und diese sollte aber nach unten verschoben werden.
Cool wäre es wenn ich das Array wieder in die Zwischenablage kriegen würde.
Gruss Markus
Anzeige
AW: .Value !
09.02.2004 22:04:26
Josef Ehrensberger
Hallo Markus!
Die zwischenablage brauchst Du nicht!
Einfach die Zeilen erst einfügen, dann füllen.
Rows(Adress & ":" & Adress).Insert (xlShiftDown)
Rows(Adress & ":" & Adress).Value = arrSchrittAusschneiden
Gruß Sepp
AW: .Value !
09.02.2004 22:16:07
Markus
Hallo Sepp
Aber auf diese Weise füge ich ja nur die eine Zeile ein.
Und gefüllt wird dann auch nur diese eine.
Eigentlich markiere ich mit Rows(Adress & : & Adress) diese eine Zeile.
Und nun konnte ich vorher hier die Zwischenablage einfügen mit "kopierte Zeilen einfügen".
Gruss Markus
AW: .Value !
09.02.2004 22:23:25
Josef Ehrensberger
Hallo Markus!
Ich glaube jetzt, wie Boris, das es besser wäre Du würtest
uns erklären was Du erreichen willst, und am besten den Code
Posten.
Gruß Sepp
Anzeige
AW: Range als Variable speichern
09.02.2004 21:00:24
Markus
Hallo Heinz
Danke für den Tipp.
Und wie kann ich den Range wieder in die Zwischenablage kopieren.....vielleicht so?
'in die Zwischenablage laden
Dim Mydata As DataObject
Set Mydata = rng
Mydata.PutInClipboard
Gruss Markus
Grundsatzfrage: Warum überhaupt Kopieren?
09.02.2004 21:56:52
Boris
Hi Markus,
was kopierst du da eigentlich? Ich wage mal zu behaupten, dass es eine 100 mal einfachere und elegantere Lösung als diese Kopiererei gibt...
Gib mal ein paar mehr Infos.
Grüße Boris
AW: Grundsatzfrage: Warum überhaupt Kopieren?
09.02.2004 22:07:44
Markus
Hallo Boris
Ich möchte eine Bereich kopieren oder ausschneiden und in dann später an einen
definierten Bereich (z.B. Rows(Adress & : & Adress)einfügen. Unter der neuen Einfügezeile stehen bereits Daten die nach unten müssen. Geht gut mit "kopierte Zellen eifnügen.
Dass Ganze wäre eigentlich einfach weil die Daten in Zwischenablage liegen.
Nur wird eben diese zwischenzeitlich überschrieben.
Gruss Markus
Anzeige
Ich bleibe dabei: Kopieren ist überflüsig...
09.02.2004 22:10:55
Boris
Hi Markus,
...und zudem ist es "unprofessionell", mit der Zwischenablage zu arbeiten, die man auch noch 100 Aktionen mit sich rumschleppt.
Schilder doch einfach mal dein Problem bzw. die Aufgabenstellung - und das Kopieren wird zu 99% ein Ende haben...
Grüße Boris
AW: Ich bleibe dabei: Kopieren ist überflüsig...
09.02.2004 22:23:37
Markus
Hallo Boris, ok
Ich wähle über eine Listbox in einem Userform Einträge aus die ich ausschneiden möchte.
Hinter den Einträgen sind Daten in Tabellenform.
Wo die Daten sind berechne ich.
In einer anderen Listbox auf der gleichen Userform möchte ich die Daten über den markierten Eintrag einfügen. Auch hier stehen Daten in Tabellenform hinter den Einträgen.
Dass heisst ich muss schauen wo ich den ausgeschnittenen Bereich einfügen kann. Also meine Adresse z.B Rows(Adress & : & Adress),ab hier kann ich also einfügen.
Es ist ein bisschen wirre , aber ich hoffe du kannst was damit anfangen.
Gruss Markus
Anzeige
Ohne deine Datei und Dein Userform wird das nix...
09.02.2004 22:29:37
Boris
Hi Markus,
...lade deine Datei hoch und beschreibe examplarisch, was wann und wo passieren soll. Dann erhälst du sicherlich einen gut funktionierenden Code.
Grüße Boris
AW: Ohne deine Datei und Dein Userform wird das nix...
09.02.2004 22:33:49
Markus
ok Boris,Sepp
Meine Datei hat ca.4MB und ich eine lahme analog - Verbindung.
Aber vielleicht mach ich Morgen weiter....ich geh mal langsam in die Federn.
Gruss Markus
Vielen Dank für euere Bemühungen.
p.s. Grundsätzlich möchte ich eigentlich nur einen Range an einer markierten Zeile als kopierte Zeilen einfügen.....*grins*
Dann bastel doch schnell ein kleines Beispiel..
09.02.2004 22:37:16
Boris
Hi Markus,
...das so ca. 40 KB groß ist - ein kleines Userform mit 2 Listboxes - und womöglich 2 RowSources. Und dann: Was soll soll wann und wo passieren?
Grüße Boris
Anzeige
AW: Dann bastel doch schnell ein kleines Beispiel..
09.02.2004 22:39:09
Markus
ok Boris.
Wenn ich wirklich nicht weiterkommen sollte komme ich auf dich zurück.
Gruss Markus
Workout...
09.02.2004 22:40:46
Boris
Hi Markus,
...alles klar - ich habe verstanden...;-)
Grüße Boris
AW: Ohne deine Datei und Dein Userform wird das nix...
09.02.2004 22:37:33
Josef Ehrensberger
Hallo Markus!
Vieleicht ein Ansatz ohne Copy & Paste.


Sub test()
Dim rng As Range
Dim intC As Integer
Dim start As Integer
start = 10  'Zeile ab der Eingefügt werden soll
Set rng = Rows("2:5")
intC = rng.Rows.Count - 1
Rows(start & ":" & start + intC).Insert (xlShiftDown)
Rows(start & ":" & start + intC).Value = rng.Value
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: Ohne deine Datei und Dein Userform wird das nix...
10.02.2004 05:48:48
andre
hallo markus,
dann bleibt entweder meine zuerst genannte variante mit dem zwischenspeichern irgendwo, oder du musst neben den inhalten bzw. formeln auch noch alle formatinformationen in einem array oder wo auch immer zwischenspeichern, sonst gehen die je nachdem was du mit dem quellbereich machst, verloren und es ist nicht dasselbe wie bei kopierte zellen einfügen. und wenn du im quellbereich formeln hattest und die in den zielbereich bringst kann ja auch was anderes rauskommen als im quellbereich ..
gruss andre
Ist es dir zu fein, drauf zu antworten?
09.02.2004 22:07:57
Boris
OK - nehme das zurück - hatte nur den..
09.02.2004 22:08:37
Boris
...leeren Betreff gesehen...

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige