Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1412to1416
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

Sheet als Variable

Sheet als Variable
01.03.2015 19:54:42
René

Hallo zusammen,
mein Problem wird für viele geringfügig erscheinen, aber ich finde einfach den Fehler nicht.
Gestartet wird das Makro aus einem Blatt, das als Ziel gespeichert wird.
Aus dem Blatt "Importmatrix" soll der entsprechende Bereich in das "Ziel"-Blatt nach C6:P37 kopiert werden.
Dim Klasse1 As String
Dim Klasse2 As String
Dim Fach As String
Dim Ziel As Worksheet
Set Ziel = ActiveSheet
Klasse1 = ActiveSheet.Range("b1").Value
Klasse2 = Sheets("Importmatrix").Range("a1").Value
If Klasse1 = Klasse2 Then
MsgBox ("Klasse OK"), vbInformation
Else: MsgBox ("Falsche Importdatei!"), vbInformation
Exit Sub
End If
Fach = ActiveSheet.Range("b2").Value
If Fach = "C" Then GoTo Weiter1
If Fach = "V" Then GoTo Weiter2
If Fach = "AJ" Then GoTo Weiter3
Weiter1:
Sheets("IMPORTMATRIX").Select
Range("b11:o42").Copy
Sheets(Ziel).Select --- Und hier ist irgendwie der Wurm drin.
Exit Sub
Weiter2:
MsgBox ("V"), vbInformation
Exit Sub
Weiter3:
MsgBox ("AJ"), vbInformation
End Sub
Vielen Dank für Eure Hilfe.
René

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheet als Variable
01.03.2015 20:58:00
Luschi
Hallo Hajo,
Deine Belehrungen zu

Select, Activate usw. ist in VBA zu 99,9% nicht notwendig.
sind umpassend, da Du selber nicht in der Lage bist, in etwas größeren Projekten diese Forderung einzuhalten; siehe:
https://www.herber.de/forum/messages/1412036.html
Und dieser Lösungsansatz: Sheets(Ziel.name).Select
zeigt eindeutig, daß Du das Objektmodell von Excel-Vba nicht verinnerlicht hast - Begründung hat ja schon Daniel gegeben.
Luschi
aus klein-Paris

Anzeige
Halte diese Kritik für ziemlich überflüssig, ...
02.03.2015 02:43:31
Luc:-?
…Luschi,
auch, wenn dich Hajos StandardSätze (obwohl er natürlich recht hat), wie die Meisten so auch mich, nerven. Da gibt's sicher auch interessantere Ansatz- und DiskussionsPunkte als ausgerechnet .Select (gilt allerdings auch für Hajo!)…
Außerdem bringt er ja wohl gern seine eigene WebSite ins Spiel (ich mache das mit Wichtigerem).
Übrigens, seit wann (und zu welchem Zweck) lädst du Dateien von Hajos WebSite, nur zum Kontrollieren…? ;-]
Gruß, Luc :-?

AW: Halte diese Kritik für ziemlich überflüssig, ...
02.03.2015 07:46:35
Luschi
Hallo Luc,
wer so in den Excel-Foren,in solch hochnäsiger Art, die Fragesteller abkanzelt, der sollte sich nicht wundern, wenn auch mal zurückgeschossen wird.
Und wer so auf die Theorie herumhackt, von dem erwarte ich einfach, daß er das postulierte Dogma auch in seiner eigenen Programmier-Praxis umsetzt.
Und da ich ihn ja schon öfter darauf hingewiesen habe, er aber nicht darauf reagiert, sollen auch andere Forenteilnehmer erfahren, wie es um seine eigenen Kenntnisse eigentlich bestellt ist.
Gruß von Luschi
aus klein-Paris

Anzeige
Naja, Hajo geht auf Kritik kaum mal ein, ...
04.03.2015 16:58:32
Luc:-?
…Luschi,
insofern ist das schon mal sinnlos. Was das Popularisieren seiner angeblich mangelhaften Kenntnisse betrifft, ist das auch kaum sinnvoll, da das möglicherweise ein verzerrtes Bild liefert. Immerhin sind seine Pgmm über viele Jahre hinweg entstanden und sein Weg hat mal hier im Forum als relativ unbedarfter Fragesteller begonnen. Nach Phasen der Stagnation sollten seine Kenntnisse inzwischen deutlich darüber hinaus reichen. Ich würde das nicht unterschätzen wollen, denn immerhin ist er Einer der ganz Wenigen, die eine BedingtFormatierung so auswerten, dass sie das gezeigte ZellFormat feststellen können. Sein Ansatz ist dabei zwar anders als der meine und damit nicht UDF-/zellfml-tauglich, aber immerhin…!
Du verstehst sicher, dass ich so etwas auch berücksichtige. Es gibt nämlich immer mal wieder Leute ohne (ausreichenden) Sachverstand, die sich an bestimmten Kleinigkeiten hochziehen und damit eine Arbeit abzuwerten versuchen, die sie nichtmal ansatzweise verstehen. Als „gebranntes Kind“ bin ich da etwas empfindlich, besonders, wenn es sich bei den Kritikern um Leute handelt, die über den nötigen Sachverstand verfügen. In diesen Fällen muss man dann schon persönliche Animositäten vermuten, was natürlich hochgradig sinnlos ist, da sich die Meisten gar nicht persönlich kennen. Hajo ist allerdings einigen schon auch persönlich bekannt. Die macht dann sein Stil mitunter auch besonders betroffen…
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Sheet als Variable
01.03.2015 20:04:59
Daniel
Hi
Ziel ist doch eine Objektvariable und repräsentiert das ganze Sheet.
deswegen reicht :
Ziel.Select 
so wie du es programmiert hast:
Sheets(Ziel).Select
müsste Ziel eine Textvariable sein, die den Tabellenblattnamen enthält:
Dim Ziel as String
Ziel = ActiveSheet.Name

oder eine Zahlvariable, die die Indexnummer enthält:
dim Ziel as long
Ziel = ActiveSheet.Index

Gruß Daniel

AW: Sheet als Variable
02.03.2015 15:32:34
René
Hallo Daniel,
herzlichen Dank für den Hinweis. Funktioniert wie geplant.
Gruß René

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige