Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
900to904
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
900to904
900to904
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

R1C1 Form mit Variablen???

R1C1 Form mit Variablen?
27.08.2007 14:26:26
HalMar
Hallo wieder einmal,
Ich hätte da eine Frage bezüglich des R1C1 Zellenbezugs. Kann ich hier statt z.B. der R1C1 auch R & Variable1 & C & Variable2 benutzen?

Markierung = "R" & Enter & "C" & Bereich2 & ":" & "R" & Bereich1 & "C" & Bereich3


So hab ichs versucht, allerdings schreibt er dann auf die Variable Markierung (String) "R1C1:R1000C25" (Was von den Variablen her gegeben ist, kann das aber nicht abarbeiten. Wie muss ich das verändern, damit es funktioniert?
Lg Mario

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: R1C1 Form mit Variablen?
27.08.2007 14:33:27
Beverly
Hi Mario,
versuche es so

Markierung = "=R" & Enter & "C" & Bereich2 & ":" & "R" & Bereich1 & "C" & Bereich3


________________________________________

AW: R1C1 Form mit Variablen?
27.08.2007 14:36:00
HalMar
Hi Karin,
Das hat leider nichts gebracht. Jetzt schreibt er einfach bei der Markierung das = dazu, mehr macht er nicht =(
Lg Mario

AW: R1C1 Form mit Variablen?
27.08.2007 14:38:54
Knut
Hi,
was soll das Enter darstellen?
mfg Knut

AW: R1C1 Form mit Variablen?
27.08.2007 15:01:00
HalMar
Hi Knut,
Die 4 Werte sind Variablen die auf einem anderen Tabellenblatt eingegeben werden (Enter, Bereich1,....
Ich will im Grunde einen Bereich mit Variablen in der R1C1:R1C1 Form eingeben (Falls das funktioniert). Außer es gibt eine bessere Methode für das was ich will, nämlich:
1) 4 Variablen die eingegeben werden. Anhand dieser Variablen wird ein Bereich festgelegt (Wobei eine Variable für die 1. Reihe steht, eine andere für die letzte Reihe, eine für die 1. Spalte und die letzte für die letzte Spalte, soll auswählbar sein), dieser wird dann kopiert. Allerdings geht das nicht mit einer A & 1... Eingabe bzw mit Chr(...), weil es mehrere Reihen sind und er ab Z Sonderzeichen macht.
2) Anschließend wird mit einer Schleife von B beginnend die 5. Zelle (z.B. B5) und durch zwei weitere Variable Zahlen der Bereich (z.B. B16:B75) bis z.B. IV5,IV16:IV75 ausgewählt. Hier mein Versuch der natürlich auch nicht funktioniert:

Markierung = Markierung & "R" & 5 & "C" & 1 + Checkcount & "," & "R" & ActiveSheet.Range("C1") & "C" & 1 + Checkcount & ":" & "R" & ActiveSheet.Range("E1") & "C" & 1 + Checkcount


Ich hoffe ihr versteht in etwa was ich meine. Checkcount ist der Zähler, in C1 und E1 stehen die Zahlen.

Anzeige
AW: R1C1 Form mit Variablen?
27.08.2007 16:36:00
Beverly
Hi Knut,
weshalb arbeitst du nicht mit Range und Cells? Da kannst du doch einen Bereich so aufbauen

Range(Cells(Zeile1, Spalte1), Cells(Zeile2, Spalte2))


________________________________________

AW: R1C1 Form mit Variablen?
27.08.2007 16:44:51
Beverly
Hi,
sorry, ich meinte Mario nicht Knut.
Bis später,
Karin

AW: R1C1 Form mit Variablen?
27.08.2007 16:50:00
HalMar
Hi Karin,
Das würde ich ja gerne machen... funktioniert aber eben nicht, da ich Spalte1, Spalte2, Zeile1 und Zeile2 als Variablen habe (Die Enter, Bereich1, Bereich2 und Bereich3 heißen). Insgesamt erhalte ich einen anwendungs oder objektdefinierten Fehler. Naja, ich werde es weiter versuchen... Vielleicht funktionierts ja irgendwie =/
Lg Mario

Anzeige
AW: R1C1 Form mit Variablen?
27.08.2007 17:31:00
Beverly
Hi Mario,
man sollte keine Variablen nach excelinternen Begriffen (wie z.B. Enter) benennen.
Deinen Einwand verstehe ich nicht - wenn deine Variablen Enter/Bereich1/Bereich2/Bereich3 Zahlenwerte beinhalten, kannst du doch auch die Range(Cells)-Variabte nehmen, denn Zeile1/Zeile2 und Spalte1/Spalte2 sind ebenfalls Zahlenwerte.
In dem Beispiel werden die Variablen aus der Tabelle ausgelesen und dann der betreffende Bereich selektiert.
https://www.herber.de/bbs/user/45437.xls
Bis später,
Karin

Anzeige
Funktioniert bei dem Fall, aber...
28.08.2007 08:43:00
HalMar
Hi Karin ;)
Hab das ganze in ein neues File transferiert und die Variablen umbenannt, jetzt funktioniert es. Allerdings hab ich noch einen Fall wo ich das brauche, da scheint das nicht zu funktionieren. Und zwar der Teil, wo ich

Private Sub CommandButton2_Click()
Dim Checkcount As Long
Dim Markierung As String
Dim Zahl1 As Long
Dim Zahl2 As Long
Zahl1 = Range("C1")
Zahl2 = Range("E1")
Dim Colcount
Colcount = ActiveSheet.UsedRange.Columns.Count
For Checkcount = 1 To Colcount
If Left(ActiveSheet.OLEObjects(Checkcount).Name, 8) = "CheckBox" Then
If ActiveSheet.OLEObjects(Checkcount).Object.Value = True Then
If Len(Markierung) > 0 Then Markierung = Markierung & ","
            Markierung = Markierung & Cells(1 + Checkcount, Zahl1) & Cells(1 + Checkcount,  _
Zahl2)
End If
End If
Next Checkcount
If Len(Markierung) > 0 Then Markierung = Markierung & ","
    Markierung = Markierung & Chr(65) & "5," & Chr(65) & ActiveSheet.Range("C1") & ":" & Chr( _
65) & ActiveSheet.Range("E1")
ActiveSheet.Range(Markierung).Copy
ActiveWorkbook.Sheets.Add
ActiveSheet.Paste
Application.CutCopyMode = False
Charts.Add
End Sub


auf die Markierung schreibe. Ich bekomme hier Zellen, ganz klar. Allerdings wählt er die dann direkt an und gibt den Wert aus, der dort steht. Die erste fett markierte Zeile soll so funktionieren wie die zweite, hatte die vorher auch mit Charcodes, allerdings funktioniert das dann nicht bei einem Checkcount von über 26 (wegen Z, AA...). Ich werde das mal mit Offset versuchen, andere Anreize können aber auch nicht schaden.
Lg an alle Helfer, das ist heute mein letzter Tag als Ferialpraktikant ^^ Ihr habt mir wirklich schon sehr oft (auch bei seeeeehr dummen Fragen, thx Renee) geholfen... ein herzliches Danke an euch ^^

Anzeige
Need some help ^^
28.08.2007 09:24:16
HalMar
Hi,
Hab hier ein Problem:

Private Sub CommandButton2_Click()
Dim Checkcount As Long
Dim myRange
Dim myUnion
Dim Zahl1 As Long
Dim newRange As Range
Dim Zahl2 As Long
Zahl1 = Range("C1")
Zahl2 = Range("E1")
Dim Colcount
Colcount = ActiveSheet.UsedRange.Columns.Count
For Checkcount = 1 To Colcount
If Left(ActiveSheet.OLEObjects(Checkcount).Name, 8) = "CheckBox" Then
If ActiveSheet.OLEObjects(Checkcount).Object.Value = True Then
           myRange = Range(Cells(1, Zahl1), Cells(1, Zahl2)).Offset(Checkcount, 0)
            myUnion = Union(myUnion, myRange, Range("A5").Offset(Checkcount, 0))
End If
End If
Next Checkcount
    myUnion = Union(myUnion, Range("A5"), Range(Cells(1, Zahl1), Cells(1, Zahl2)))
ActiveSheet.Range(myUnion).Copy
ActiveWorkbook.Sheets.Add
ActiveSheet.Paste
Application.CutCopyMode = False
Charts.Add
End Sub


Ich hab das jetzt mal mit Offset, Cells und Union versucht, allerdings schreibt er mir nichts auf myRange und myUnion. Er läuft dann (je nachdem welche Checkboxen aktiviert sind) ein paar mal ab, geht dann über myRange(leer), auf myUnion(ebenfalls leer) und gibt den Fehler (Objekt erforderlich). Was genau habe ich da alles falsch gemacht?
Mit hoffnung auf eine schnelle Antwort,
Lg, Mario

Anzeige
AW: Funktioniert bis 256 Spalten...
28.08.2007 09:27:13
Renee
Hi Mario,
Ich würde mal sagen, das folgender Code auch über Spalten AA ... etc. funktioniert:

Private Sub CommandButton1_Click()
Dim Checkcount As Long
Dim sCol As String
Dim Markierung As String
Dim Myunion As Range
Dim Myrange As Range
Dim Zahl1 As Long
Dim Zahl2 As Long
Zahl1 = ActiveSheet.Range("C1").Value   ' StartPunkt
Zahl2 = ActiveSheet.Range("E1").Value   ' EndPunkt
For Checkcount = 1 To ActiveSheet.OLEObjects.Count
If Left(ActiveSheet.OLEObjects(Checkcount).Name, 8) = "CheckBox" Then
If ActiveSheet.OLEObjects(Checkcount).Object.Value = True Then
sCol = ActiveSheet.OLEObjects(Checkcount).TopLeftCell.Address(True, False)
sCol = Left(sCol, InStr(sCol, "$") - 1)
If Len(Markierung) > 0 Then Markierung = Markierung & ","
Markierung = Markierung & sCol & "5," & sCol & Zahl1 & ":" & sCol & Zahl2
End If
End If
Next Checkcount
If Len(Markierung) > 0 Then Markierung = Markierung & ","
Markierung = Markierung & "A5,A" & Zahl1 & ":A" & Zahl2
 ....usw...


Greetz Renee

Anzeige
Danke, funktioniert SUPER ^^
28.08.2007 09:45:13
HalMar
Hi Renee,
Funktioniert SUPER ^^ Danke dass du mir das so schnell beantwortet hast =)
Thx, Lg, Mario

AW: R1C1 Form mit Variablen?
27.08.2007 15:25:00
gerwas
Hallo
was willst du den eigentlich mit "markierung"machen?
mfg gerwas

AW: R1C1 Form mit Variablen?
27.08.2007 15:29:00
Renee
Hallo Gerwas,
Ganz einfach. Markierung wird später in diesem Kontext gebraucht .Range(Markierung).Select und darum kann das Ganze so nicht funktionieren. Aber Mario hat leider die seltene Gabe immer wieder neue Threads aufzumachen und die Helfer im Unklaren zu lassen.
Greetz Renee

R1C1 oder Offset?
27.08.2007 15:44:00
HalMar
Danke Renee,
du hast es wieder mal treffend auf den Punkt gebracht... Den neuen Thread hab ich geöffnet, weil das andere Problem das hier nicht wirklich abdeckt. Wie Renee schon gesagt hat, will ich die Markierung dann auswählen, um das ganze zu kopieren.
Gibt es eine Möglichkeit, das in der Art zu lösen oder muss ich wieder zu Offset greifen?
Lg Terrordar

Anzeige
Um Antwort wird gebeten...
27.08.2007 16:39:00
HalMar
... auch wenn es nicht funktioniert: ein einfaches Ja oder Nein wäre trotzdem nett.
Mfg Mario

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige