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

Warum select nicht ?

Warum select nicht ?
16.09.2007 16:10:47
Walter
Guten Tag,
bei mir klappt das selectieren nicht.
Ich möchte mit einem Command-Button bestimmte Zellen in einer anderen Sheet
kopieren, geht nicht.
Anbei Muster: https://www.herber.de/bbs/user/46078.xls
gruß Walter MG

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Warum select nicht ?
16.09.2007 16:11:00
Hajo_Zi
Hallo Walter,
in VBA kann zu 99,9% auf select verzichtet werden. Warum muss ich erst eine Datei runterladen um den Code zu sehen?

Warum klappt es...
16.09.2007 16:28:00
Walter
Hallo Hajo,
wollte die Erklärung an Hand einer Mustermappe zeigen, warum klappt es den nicht ?
gruß Walter MG

AW: Warum select nicht ?
16.09.2007 16:31:30
Ramses
Hallo
ich lade mir deine Datei auch nicht runter, aber zum Selectieren muss die entsprechende Tabelle aktiv sein.
Ansonsten schliesse ich mich Hajo's Anmerkung an
Gruss Rainer

Aber die Tabelle ist aktiv
16.09.2007 16:36:00
Walter
Hallo Rainer,
die Tabelle ist Aktiv, hier das Makro:

Private Sub CommandButton1_Click()
Sheets("ww").Select
ActiveSheet.Range(Cells(21, 2), Cells(30, 2))    '.Select
End Sub


auch mit select weglassen klappt es nicht.
Hier das Makro vom Modul:
Sub TestSelectieren()
Sheets("ww").Select
ActiveSheet.Range(Cells(21, 2), Cells(30, 2)).Select
End Sub


das klappt !!!
gruß Walter MG

Anzeige
probier das mal ... ;o)
16.09.2007 16:44:00
Matthias
Hallo

Private Sub CommandButton1_Click()
Application.Goto Sheets("ww").Cells(21, 2)
Call TestSelectieren
End Sub


Userbild

Leider Fehler, wie auch bei Hajo... -)
16.09.2007 20:31:27
Walter
Hallo Matthias,
habe jetzt die Lösung durch Daniel, so klappt es,
danke auch für deine Unterstützung !
mfg Walter MG

AW: Aber die Tabelle ist aktiv
16.09.2007 16:56:00
Hajo_Zi
Hallo Walter,

Private Sub CommandButton1_Click()
Sheets("ww").Range(Cells(21, 2), Cells(30, 2))=133
End Sub


Gruß Hajo

Anzeige
Leider Fehler
16.09.2007 20:25:29
Walter
Hallo Hajo,
Laufzeitfehler 1004, Anwendungs oder objektdefinierter Fehler .
mfg Walter MG

AW: Leider Fehler
16.09.2007 20:28:10
Daniel
Hi
Walter.
hast du meine Antwort gelesen? dann weisst du auch warum
Gruß, Daniel

AW: Leider Fehler
16.09.2007 20:29:00
Original
Hi,
das lernt Hajo vielleicht auch noch:

Private Sub CommandButton1_Click()
With Sheets("ww")
.Range(.Cells(21, 2), .Cells(30, 2))=133
End With
End Sub


mfg Kurt

AW: Leider Fehler
16.09.2007 20:34:00
Hajo_Zi
Hallo Kurt,
warum sollen wir Walter gleich alles erzählen. Er hat uns doch auch nicht alles erzählt.
Gruß Hajo

Anzeige
Das stimmt doch nicht
16.09.2007 20:37:00
Walter
Hallo Hajo,
jetzt hast Du kein Recht, ich habe doch eine Mustermappe direkt begegeben !
Trotzdem Danke für die Unterstützung,
mfg Walter MG

AW: Das stimmt doch nicht
16.09.2007 21:10:00
Daniel
Hi,
die hat HaJo aber nicht gelesen.
das Stichwort "Select" löst halt bei vielen, die länger dabei sind, diese stereotypische Abwehrreaktion aus, weil ständiges Selektieren ja die klassische Anfähgerangewohnheit ist und irgendwann wird man müde, es ständig zu erklären.
Wobei dein Fall ja schon etwas komplexer ist.
Gruß, Daniel

So klappt es auch !!! -)
16.09.2007 20:35:42
Walter
Hallo Kurt,
so klappt es auch !!!
With Sheets("ww")
.Range(.Cells(21, 2), .Cells(30, 2)).Select
End With
mfg Walter MG

AW: Warum select nicht ?
16.09.2007 16:47:00
Daniel
Hi
warums einmal geht und einmal nicht geht, hat folgenden Grund:
der Button, mit dem es funktioniert, ist ein Formularfeld und ist mit einem Makro im ALLGEMEINEN Modul verlinkt.
der Button, mit dem es nicht geht, ist ein Steuerelement und hat seinen Code im Modul der jeweiligen Tabelle
der Unterschied zwischen beiden Modulen ist:
im allgemeinen Modul gelten Zellbezüge ohne Sheet-Bezug für das gerade aktive Sheet,
in Modul eines Sheets gelten Zellbezüge onhe Sheet-Bezug immer für Sheet des Moduls.
jetzt kommt noch die Besonderheit hinzu, daß bei einer RANGE, die über Angabe von (CELLS(), CELLS()) definiert wird, der Sheet-Bezug nicht nur für die RANGE, sondern für jede der beiden CELLS einzeln angegeben werden muss, also so:

Shees(x).RANGE(Sheets(x).cells(1,1), Sheets(x).cells(2,2)).select


wenn jetzt innerhalb der Range-Anweisungen für die Cells KEIN Sheet angegeben ist, dann dann beziehen sich die CELLS() auf das Sheet("Start"), weil der Code im Modul vom Sheet("Start") steht, aber die gesamte RANGE bezieht sich durch den Zusatz "ACTIVESHEET.RANGE" auf das Sheet ("ww"), weil das ja gerade aktiv ist.
Somit hast du einen logischen Konflikt in dem Zellbezug, weil 2 verschiedene Sheets angesprochen werden.
das Problem lösen kannst du folgendermassen:


Private Sub CommandButton1_Click()
Sheets("ww").Select
ActiveSheet.Range(ActiveSheet.Cells(21, 2), ActiveSheet.Cells(30, 2)).Select
End Sub


bei dem Code im allgemeinen Modul hast du das Problem nicht, weil hier IMMER gilt "kein Sheet angegeben = aktvies Sheet"
Gruß, Daniel

Anzeige
Das ist die Lösung !!!!
16.09.2007 20:29:07
Walter
Hallo an ALLE,
denoch für mein nerven das ist die Lösung von Daniel und schönen Dank für
die Erläueterung !
mfg Walter MG

Danke an ALLE für die Unterstützung, -)
16.09.2007 20:32:00
Walter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige