Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1024to1028
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
Inhaltsverzeichnis

Verschiedene Bereiche einsetzen

Verschiedene Bereiche einsetzen
24.11.2008 16:06:16
Gordon
Moin,
hab da mal'ne Frage. Und zwar habe ich mal folgenden Beispiel Code bzw. Befehl:

.Range(bereich).copy


"bereich" ist eine Variable! Und zwar soll nun per Schleife verschiedne Bereiche, z.B. A1:B2, C5:d102,...etc., eingestezt werden für die Variable "bereich". Geht sowas? Und wenn ja, wie?
Dachte erst an eine For-Schleife, wobei das da (glaube ich) nur mit reinen Zahlen geht. (Muss da ja immer von 1 to 100 o.ä. angeben)
Kann mir da jemand weiterhelfen?
Beste Grüße
Gordon

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verschiedene Bereiche einsetzen
24.11.2008 16:23:56
Tino
Hallo,
hier mal zwei Beispiele, einmal als String und einmal als Rangeobjekt.
'Als String 
Sub Mit_String()
Dim strBereich As String
    strBereich = "A1:B2"
    Range(strBereich).Copy
End Sub

'Als Range Object 
Sub Mit_Rangeobjekt()
Dim rngBereich As Range
   Set rngBereich = Range("A1:B2")
   rngBereich.Copy
End Sub


Gruß Tino

Anzeige
AW: Verschiedene Bereiche einsetzen
24.11.2008 16:33:00
Gordon
Ok danke,
aber wenn ich mehrere Bereiche habe, die immer in die selbe Variable geladen werden sollen? Wie geht dann das? Ich kann ja schlecht so schreiben, oder? strBereich = "A1:B2", "D1:D100", "D2:O12,".....
Ich habe halt einen Code, der mehrfach ausgeführt werden soll....bei jedem Durchlauf soll ein anderer Bereich (den ich vorgebe) dran kommen.
AW: Verschiedene Bereiche einsetzen
24.11.2008 16:46:00
Tino
Hallo,
eine Möglichkeit
Sub test()
Dim strBereiche(1 To 3) As String
Dim i As Integer
strBereiche(1) = "A1:A2"
strBereiche(2) = "B1:B2"
strBereiche(3) = "C1:C2"

MsgBox Range(strBereiche(1)).Address(0, 0)
MsgBox Range(strBereiche(2)).Address(0, 0)
MsgBox Range(strBereiche(3)).Address(0, 0)
End Sub


Gruß Tino

Anzeige
Dim i As Integer ist unnötig oT.
24.11.2008 16:49:56
Tino
AW: Verschiedene Bereiche einsetzen
24.11.2008 16:53:00
Gordon
Da kommen wir, glaube ich, der Sache schon etwas Näher.
Aber das bringt mich leider noch nicht so ganz weiter. Mal hier ein Beispiel:
Ich habe drei Bereiche (später sind es mehr): A1:B2, C1:D20, E10:P100
Jetzte habe ich folgen Code

ThisWorkbook.Sheets("Tabelle1").Range(strBereiche).copy
ActiveWorkbook.Sheets("Tabelle1").Range(strBereiche).paste


Dieser Code soll jeweils einmal mit einem der Bereiche durchlaufen werden. Wie bekomme ich das hin?

AW: Verschiedene Bereiche einsetzen
24.11.2008 17:00:38
Tino
Hallo,
dafür gibt es auch eine Lösung
Sub TestStart()
 Call TestLauf
End Sub

Sub TestLauf()
Dim strBereiche(0 To 2) As String
Static i As Integer
strBereiche(0) = "A1:A2"
strBereiche(1) = "B1:B2"
strBereiche(2) = "C1:C2"
MsgBox Range(strBereiche(i)).Address(0, 0)
i = IIf(i = 2, 0, i + 1)
End Sub


Gruß Tino

Anzeige
AW: Verschiedene Bereiche einsetzen
24.11.2008 17:05:00
Gordon
Äh...ok....da blick ich nun gar nicht durch....gerade dieses "IIf(i = 2, 0, i + 1)" sagt mir leider gar nichts....magst dazu noch etwas schreiben...will ja verstehen.... :-)
AW: Verschiedene Bereiche einsetzen
24.11.2008 17:16:30
Jens
Hi,
gute Gelegenheit deinen Kenntnisse zu verbessern, steht alles in der Hilfe.
mfg Jens
AW: Verschiedene Bereiche einsetzen
24.11.2008 17:18:47
Gordon
Sag mir genau wo und ich versuche es mir gerne anzueigenen...denn in der Hilfe finde ich nichts....
AW: Verschiedene Bereiche einsetzen
24.11.2008 17:26:00
Gordon
Ok,
nehme es zurück....habe es gerade gefunden...nur was dort steht, bringt mich gar nicht meinem Problem bzw. meiner Fragestellung weiter. (bzw. es erschließt sich mir leider nicht!)
AW: Verschiedene Bereiche einsetzen
24.11.2008 18:24:00
Tino
Hallo,
dies ist Doch Deine Frage gewesen.
Mit jedem neuen Aufruf, wird der nächste Bereich gewählt.
Die IIf habe ich drin,
weil ja irgendwann die i Variable einen Wert bekommt für den es keinen Bereich gibt und dann soll i wieder bei 0 anfangen also von vorn beginnen.
IIf Funktion
Gibt einen von zwei Teilen zurück,
abhängig von der Auswertung eines Ausdrucks
Syntax
IIf(Auswertung True oder False, truepart, falsepart)
Diese IIf bewirkt das gleiche wie folgender Code
If i = 2 Then
 i = 0 'truepart 
Else
 i = i + 1 'falsepart 
End If


Gruß Tino

Anzeige
AW: Verschiedene Bereiche einsetzen
25.11.2008 11:11:25
Gordon
OK,
nun habe ich es auch verstanden....man man man....bin echt manchmal schwer im Begreifen! ;-)
Besten Dank!
Gordon

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige