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

Variablendeklaration

Variablendeklaration
04.05.2005 16:21:45
Dieter.K
Hallo Forum!
mit Hilfe von Hajo ist ein Teil der folgenden Datei entstanden. Das klappt wunderbar. Ich würde aber gerne den Zusammenhang richtig verstehen.
Könnt Ihr mir sagen wo in folgendem Code die Variable "cmdProfile.Tag" deklariert wird, bzw. warum ich "cmdProfile.Tag" nicht umbenennen kann?
Option Explicit
' neu Hajo
' cmdGitterroste.Tag =Tabelle
' cmdProfile.Tag =Zeile

Private Sub Einblenden()
'   einblenden der Steuerelemente für die Produkte
cmdabbrechen.Visible = True
cmdübernehmen.Visible = True
Lst_Produkte.Visible = True
With Lst_Produkte
.Height = 350
.Width = 590
.Top = 5.25
.Left = 5.25
End With
End Sub


Private Sub cmdabbrechen_Click()
'   ausblenden der Steuerelemente für die Produkte
Lst_Produkte.Visible = False
cmdabbrechen.Visible = False
cmdübernehmen.Visible = False
End Sub


Private Sub cmdübernehmen_Click()
Dim ByI As Byte
With Worksheets(cmdGitterroste.Tag)
For ByI = 1 To 12
Controls("txtArtikel" & ByI).Value = .Cells(cmdProfile.Tag, ByI)
Next ByI
End With
cmdabbrechen_Click
End Sub


Private Sub Lst_Produkte_Click()
If Lst_Produkte.ListIndex > -1 Then cmdProfile.Tag = Lst_Produkte.ListIndex + 2
cmdübernehmen.Enabled = Lst_Produkte.ListIndex <> -1
End Sub

'Hier weden die Schaltflächen gesteuert

Private Sub Fuellen_Listbox()
Dim aRow As Integer
Dim i As Integer
With Worksheets(cmdGitterroste.Tag)
aRow = .[C65536].End(xlUp).Row
For i = 2 To aRow
Lst_Produkte.AddItem .Cells(i, 1) & "  -  " & .Cells(i, 2) & "  -  " & .Cells(i, 4) & "  -  " & _
.Cells(i, 7)
Next i
End With
End Sub


Private Sub cmdGitterroste_Click()
Einblenden
Lst_Produkte.Clear
cmdGitterroste.Tag = ActiveControl.Caption
Fuellen_Listbox
cmdübernehmen.Enabled = False
End Sub

Zum besseren Verständnis habe ich die komplette Datei hochgeladen.
https://www.herber.de/bbs/user/22167.xls
Ich möchte die Funktionsweise gerne komplett verstehen. Könnt Ihr mir helfen?
Danke
Gruß
Dieter.K

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

Betreff
Datum
Anwender
Anzeige
AW: Variablendeklaration
04.05.2005 16:27:26
u_
Hallo,
cmdProfile ist ein Commandbutton, .Tag ist eine Eigenschaft von cmdProfile, die kannst du nicht umbenennen, sondern ihr nur einen Wert zuweisen.
Gruß
AW: Variablendeklaration
04.05.2005 16:33:23
Dieter.
Hallo u_,
soweit habe ich das verstanden. Aber wo ist die "Eigenschaft"? Wie wird festgelegt, daß der CommandButton "cmdProfile" die Tag-Eigenschaft hat, die Zeile(n) der ausgewählten Tabelle einzulesen? Das verstehe ich nicht.
Kannst Du mir das genauer erklären?
Gruß
Dieter.K
AW: Variablendeklaration
04.05.2005 16:45:20
Dieter.K
Hallo u_, hallo Christoph!
Ich glaube ich hab's gerafft.
Welche Bezeichnung ich für "cmdGitterroste.Tag" (Tabelle) und "cmdProfile.Tag" (Zeile) verwende spielt keine Rolle, solange die Bezeichnung der "Caption" eines vorhandenen CommandButton entspricht.
Habe ich das so richtig verstanden?
Danke
Gruß
Dieter.K
Anzeige
AW: Variablendeklaration
04.05.2005 16:31:46
Christoph
Hallo Dieter,
"Tag" ist ein Attribut (ein Eingeschafts-Feld) des CommandButton cmdProfile.
Dies ist keine Variable.
Gruß
Christoph
AW: Variablendeklaration
04.05.2005 16:37:05
Dieter.K
Hallo Christoph,
wenn ich aber cmdProfile.Tag in z.B. cmdStahl.Tag umbenenne, bekomme ich eine Fehlermeldung "Variable nicht deklariert". Deshalb meine Annahme, das es sich hierbei um eine Variable handelt (die ich nur nicht zuordnen konnte).
Woher weiß cmdProfile.Tag, daß "Zeilen" eingelesen werden sollen?
Danke für Deine Hilfe.
Gruß
Dieter.K
AW: Variablendeklaration
04.05.2005 17:22:48
Christoph
Hallo Dieter,
das "Tag" von cmdPofile erhält als Wert die Nr der gewählten Zeile aus der Listbox "Lst_Produkte"
Wenn keine Zeile (Datensatz) gewählt ist, dann wird kein Tag übergeben:
If Lst_Produkte.ListIndex &gt -1 Then cmdProfile.Tag = Lst_Produkte.ListIndex + 2
Das Tag von cmdGitterroste erhält die jeweilige Caption des Commandbutton.
Auf dieses Tag wird zurückgegriffen, wenn Worksheets referenziert werden wie zB. in:
With Worksheets(cmdGitterroste.Tag)
Du siehst also, "Tag" ist nicht weiteres als ein Feld des CommandButton, dem du bestimmte Werte übergeben kannst. Bei Bedarf greifst du auf diese Werte zurück.
Gruß
Christoph
Anzeige
AW: Variablendeklaration
04.05.2005 17:43:57
Dieter.K
Hallo Christoph,
danke für die ausführliche Erläuterung. Jetzt habe ich es verstanden. Wird mir in Zukunft sicher sehr hilfreich sein.
Nochmals Danke!
Gruß
Dieter.K

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige