Herbers Excel-Forum - das Archiv
Was mach ich falsch ??
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Betrifft: Was mach ich falsch ??
von: Juergen
Geschrieben am: 23.11.2003 21:24:06
Hallo Leute!
Ich möchte eine Celle aus einem anderen Blatt in ein Blatt per VB übernehmen
und habe dafür folgende Zeile.
Cells(bb, 2) = bank1.Cells(a, 8)
Excel meint "Objekt erforderlich"
Es gibt aber das Tabellenblatt bank1
DANKE!!!
Gruß Jürgen
Betrifft: AW: Was mach ich falsch ??
von: PeterW
Geschrieben am: 23.11.2003 21:26:09
Hallo Jürgen,
was ist denn bank1? Wenn es sich um einen Blattnamen handelt dann:
Cells(bb, 2) = Sheets("bank1").Cells(a, 8)
Gruß
Peter
Betrifft: AW: Was mach ich falsch ??
von: Juergen
Geschrieben am: 23.11.2003 21:27:21
Jau. Jetzt gehts. DANKE!!!!
Betrifft: AW: Was mach ich falsch ??
von: Nepumuk
Geschrieben am: 23.11.2003 21:57:36
Hallo Jürgen, (mit und ohne Huber)
Tabellen lassen sich schon mit ihrem Namen ansprechen. Aber nicht mit dem, den der User vergibt sondern mit ihrem Programmnamen. Die siehst du in Projektexplorer. Das sind die Tabellenbezeichnungen vor den in Klammern erscheinenden, vom User definierten Namen. Also ein Konstrukt wie: Tabelle1.Cells(1, 1) ist durchaus zulässig. Du kannst nun im Eigenschaftsfenster der Tabelle den Name auch auf bank1 ändern, dann würde deine Anweisung: Cells(bb, 2) = bank1.Cells(a, 8) auch funktionieren.
Nur so als Tipp.
Gruß
Nepumuk
Betrifft: Danke für den Tipp, aber
von: Reinhard
Geschrieben am: 23.11.2003 22:43:19
Hallo Nepumuk,
wie so vieles wusste ich das noch nicht, manuell klappt das gut.
Wie weise ich denn "Programm"-Name einer Tabelle per VBA zu?
Worksheets("Tabelle2").Name = "xyz" vergibt ja nur den "User"-Namen.
Gruß
Reinhard
ps: Du erwähnest hier vor kurzem dass Userforms die Tabellen ablösen und Klassenmodule die Module bzw. dass da die eine Aufgabe im Klassenmodul mit einer Anweisung zu lösen sei während man mit Modulen noch mehrere Abfragen braucht.
Hier sehe ich nie mal Fragen zu Klassenmodulen. Wie kann ich also da was zu Klassenmodulen lernen? Anderes Forum? Gutes Buch? Danke
Betrifft: AW: Danke für den Tipp, aber
von: Nepumuk
Geschrieben am: 23.11.2003 23:11:10
Hallo Reinhard,
die CodeName - Eigenschaft lässt sich nur im Entwurfsmodus ändern. Ansonsten ist sie schreibgeschützt.
Zu Klassenmodulen ist einfach zu sagen, wenn du das Prinzip mal begriffen hast, ist es eigentlich ganz einfach. Fast jedes Excelobjekt kennt Ereignisse und wenn du z.B. 10 Textboxen nimmst, die auf das selbe Ereignis die selbe Reaktion zeigen sollen, so fasse sie in einer neuen Klasse zusammen. Im Klassenmodul weist du der Klasse die Eigenschaft von Textbox zu. Dadurch kannst du eine Ereignisroutinen für alle Objekt in dieser Klasse im Klassenmodul schreiben. Die zulässigen Ereignisse findest du, wie in allen Klassenmodulen, in der rechten Combobox über dem Editorfenster. Hier findest du z.B. ein Klassenmodul für ComboBoxen:
https://www.herber.de/forum/messages/342304.htmlGruß
Nepumuk
P.S. Ich mache den Job jetzt schon seit 26 Jahren, also nur nicht den Mut verlieren.
Betrifft: AW: Was mach ich falsch ??
von: Jürgen Huber
Geschrieben am: 23.11.2003 21:36:17
Vielleicht kann Excel mit bank1 nichts anfangen. Definiere den Namen mit Dim oder verwende Sheets("bank1").select
Gruß Jürgen