Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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
Daten in VBA Umgebung ändern
09.08.2013 13:36:42
Frank
Hallo zusammen, bräuchte mal wieder einen Denkanstoß Eurerseits.
Untenstehend ist ein Auszug aus einer Schleife zu sehen
Über eine Userform und den darin befindlichen 3 Comboboxen möchte ich gern gewisse Daten ändern ohne dass ich in die VBA Umgebung muss.
So möchte das die Daten welche ich den zellen A1 bis A3 zuweise von i, step und den sheetsnamen übernommen werden.
Danke Gruß Frank
For i = 14 To 665 Step 57
Sheets("Expo1").Select
Worksheets("Expo1").Range(Cells(i, 8), Cells(i, 38)).Copy Destination:=Worksheets("Auswahl").Cells(Z, 42)

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in VBA Umgebung ändern
09.08.2013 14:26:01
Rudi
Hallo,
For i = 14 To [A1] Step [A2]
Sheets([A3]).Select
Worksheets([A3]).Range(Cells(i, 8), Cells(i, 38)).Copy Destination:=Worksheets("Auswahl").Cells(Z, 42)
Gruß
Rudi

AW: Daten in VBA Umgebung ändern
09.08.2013 16:06:40
Frank
Hallo Rudi, eckige Klammer ich werd verrückt!! :-) Danke Gruß Frank

Eckige Klammern sind schlechter PgmierStil!
09.08.2013 17:12:56
Luc:-?
Ausnahme: R1C1 :-|
Gruß Luc :-?

AW: Eckige Klammern sind schlechter PgmierStil!
09.08.2013 17:35:46
Frank
Hallo Luc, Kann mich in VBA etwas bewegen aber mit Deiner Aussage stehe ich jetzt etwas auf dem schlauch. Gib mir mal einen Tip wie ich meine erste Schleifenzeile deiner Meinung schreiben sollte. Gruß Frank

AW: Eckige Klammern sind schlechter PgmierStil!
09.08.2013 20:36:52
Luschi
Hallo Luc,
wer definiert denn hier, was schlechter Programmierstil ist. Ich widerspreche dem entschieden. Alles was erlaubt ist, kann benutzt werden. Und schau Dir mal die neuen Möglichkeiten bei den ListObjects (als Tabelle formatieren) auf der Benutzeroberfläche an; da wimmelt es von eckigen Klammern!!!
Ich finde, diese Diskussion ist völlig unnötig und benutze diese Form des Zugriffes auf vordefinierte Datenbereiche verstärkt; denn wenn der Ausgangsbereich verschoben wird, aktualisiert Excel automatisch den dazu passenden Range-Bereich - was will man mehr!
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Eckige Klammern sind schlechter PgmierStil!
10.08.2013 07:32:19
Frank
Guten Morgen, habe das gleich mal ausprobiert. Solange in der zelle eine zahl steht klappt der bezug mit der eckigen Klammer. Steht aber der Blattname in der Zelle kommt Typen unverträglich laufzeitfehler 13. Muss da nochwas deklariert werden.
Danke fürs drüberschauen
Gruß Frank

MS definiert's (indirekt) in der VBE-Hilfe, ...
10.08.2013 16:51:38
Luc:-?
…in der so etwas nicht vorkommt, Luschi; ;->
die Autoanpassung kann man auch über Namen regeln und das wird wohl auch hier dahinterstecken (Adresse als StandardZellName).
Außerdem scheint sich die Methode ja offensichtlich nicht für jeden zu eignen, wohl weil sie relativ intransparent ist. Außerdem haben wir schon vor Jahren hierüber diskutiert, wobei festgestellt wurde, dass die Methode auch noch langsamer als der Standard ist…!
Frank, ZellAdressen und definierte Namen (ohne "") — sonst besser Range("…") bzw Evaluate("…") oder ggf in Verbindung mit Names("…")-Eigenschaften.
Gruß Luc :-?

Anzeige
AW: MS definiert's (indirekt) in der VBE-Hilfe, ...
10.08.2013 20:58:28
Frank
Hallo Luc, komme immer noch nicht weiter. Vielleicht habe ich mich auch zu blöd ausgedrückt. In der schleife steht als Beispiel... Sheets("Tabelle1").select - wie ersetze ich Tabelle1 als Beispiel mit Tabelle23 welche ich mit meiner Combobox in Zelle A1 reingeschrieben habe.
Ich möchte nicht jedesmal in VBA reingehen und "Tabelle1" ersetzen. Zahlen und eckige Klammer als Zellbezug scheint zu funktionieren aber bei Textzuweisungen gibt es Fehlermeldungen.
Krieg noch ne Macke.. :-) Gruß Frank

AW: so?
11.08.2013 08:22:45
hary
Moin Frank
Versuch mal so. Wobei ich nicht weiss was z(variable) rausbringt. Blattnamen anpassen.
Dim strBlatt As String
Dim lngBis As Long
Dim lngStep As Long
Dim i As Long
strBlatt = Worksheets("hier Blattname wo Name steht").Range("A1") 'Blattname
lngBis = Worksheets("hier Blattname wo Name steht").Range("A2") 'bis Zeile
lngStep = Worksheets("hier Blattname wo Name steht").Range("A3") 'Step
For i = 14 To lngBis Step lngStep
With Sheets(strBlatt)
.Range(.Cells(i, 8), .Cells(i, 38)).Copy 'Destination:=Worksheets("Auswahl").Cells(z, 42)
End With
Next

gruss hary

Anzeige
AW: so?
11.08.2013 12:23:38
Frank
hallo hary,
das sieht doch schon viel besser aus. Danke Gruß Frank

Ergänzung: In der neuen Hilfe steht, ...
13.08.2013 19:35:10
Luc:-?
Der Vorzug bei der Verwendung eckiger Klammern liegt im kürzeren Code. Der Vorzug bei der Verwendung der Evaluate-Methode besteht darin, dass das Argument eine Zeichenfolge ist. Dies bedeutet, dass Sie die Zeichenfolge entweder direkt mit dem Code angeben oder eine Visual Basic-Variable verwenden können.
Was ist nun sinnvoller, na…? ;->
Ändert sich etwas, muss ich bei eckigen Klammern das ganze Pgm durchsuchen; einen String dagg kann ich auch am PgmAnfang als Konstante festlegen! Was lässt sich wohl schneller aktualisieren…?! ;->
Gruß Luc :-?
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige