Bezeichnungsfeld-Caption in die Tabelle Schreiben

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Bezeichnungsfeld-Caption in die Tabelle Schreiben
von: Lena
Geschrieben am: 20.05.2002 - 16:14:46

Hallo zusammen!

Leider komme ich bei folgender Frage nicht weiter:
Ich habe zwei Dateien: "Tabelle.xls" und "Makro.xls". Über "Makro.xls" wird eine UserForm aufgerufen, die 10 Bezeichnungsfelder enthält. Jetzt sollen die Caption der Bezeichnungsfelder nacheinander per CommandButton-Click in die Spalte A der "Tabelle.xls" in die erste freie Zelle geschrieben werden (in der Spalte A stehen schon andere Daten.)

Ich würde mich serh über Hilfestellungen freuen.
Lena

nach oben   nach unten

Re: Bezeichnungsfeld-Caption in die Tabelle Schreiben
von: Klaus Schubert
Geschrieben am: 20.05.2002 - 17:20:07

Hallo Lena,

ich weiß zwar nicht, ob ich dich richtig verstanden habe (meinst du wirklich Bezeichnungsfelder = Label1,Label2 usw. ?) , aber probier doch mal folgenden Code in deiner UserForm aus:


Private Sub CommandButton1_Click()
Dim As Integer, LetzteZeile As Integer, LabelControl As Control

With Workbooks("Tabelle.xls").Sheets("Tabelle1")
    .Range("A1").Activate
    LetzteZeile = ActiveSheet.UsedRange.Rows.Count

    For Each LabelControl In UserForm1.Controls
            If UCase(TypeName(LabelControl)) = "LABEL" Then
                i = i + 1
                .Cells(LetzteZeile + i, 1) = LabelControl.Caption
            End If
    Next LabelControl
    
End With

End Sub

Dieser Code geht davon aus, dass du die Daten in der Arbeitsmappe "Tabelle" in das Arbeitsblatt "Tabelle 1" kopieren willst (ansonsten anpassen) und das die Arbeitsmappe "Tabelle" geöffnet ist. Sollten sich noch mehr Bezeichnungsfelder als die angegebenen zehn in der Userform befinden, werden diese auch übernommen. Die Caption-Werte der Bezeichnungsfelder werden dann in Spalte A ab der ersten leeren Zelle untereinander in die Tabelle geschrieben. War es so gemeint?

Gruß Klaus

nach oben   nach unten

Re: Bezeichnungsfeld-Caption in die Tabelle Schreiben
von: Lena
Geschrieben am: 20.05.2002 - 17:36:41

Hallo Klaus,

vielen Dank, Du hast es absolut richtig verstanden, so habe ich auch alles gemeint.

Ich hätte noch eine kleine Frage: Was müsste verändert werden, wenn die "Tabelle.xls" zwar schon existiert, aber noch nicht geöffnet ist und erst geöffnet werden muss?

Lena

nach oben   nach unten

weitere Anmerkung
von: Lena
Geschrieben am: 20.05.2002 - 18:03:03

Ich wollte nur sagen, dass die "Tabelle.xls" nicht die Datei ist, in der der Code geschrieben steht (er ist in Makro.xls).

Vielleicht ist es der Grund, warum, wenn ich den Code von Klaus verwende, die Fehlermeldung kommt: "Die Activate-Methode des Range-Objektes konnte nicht ausgeführt werden"? Oder was mache ich grundsätzlich falsch?

(ich habe auch die "Tabelle.xls" schon geöffnet)

Danke für die Hilfe,
Lena

nach oben   nach unten

Re: weitere Anmerkung
von: Klaus Schubert
Geschrieben am: 20.05.2002 - 21:54:57

Hallo Lena,

das mit der Fehlermeldung lag am Code, hatte eine Kleinigkeit übersehen.
Hier nun der (hoffentlich) funktionierende Code mit Abfrage, ob die Datei bereits geöffnet ist:


Private Sub CommandButton1_Click()
Dim As Integer, LetzteZeile As Integer, LabelControl As Control, ArbeitsmappeOffen As Boolean

Const Laufwerk = "C:\"
Const Pfad = "C:\Eigene Dateien"
Const Dateinamen = "Tabelle.xls"
ArbeitsmappeOffen = False

For i = 1 To Workbooks.Count
If Workbooks(i).Name = Dateinamen Then ArbeitsmappeOffen = True
Next i

If ArbeitsmappeOffen = False Then
ChDrive Laufwerk
ChDir Pfad
On Error Resume Next
Workbooks.Open Dateinamen
End If


Workbooks("Tabelle.xls").Activate
With Workbooks("Tabelle.xls").Sheets("Tabelle1")
.Range("A1").Activate
    LetzteZeile = ActiveSheet.UsedRange.Rows.Count

    For Each LabelControl In UserForm1.Controls
            If UCase(TypeName(LabelControl)) = "LABEL" Then
                i = i + 1
                .Cells(LetzteZeile + i, 1) = LabelControl.Caption
            End If
    Next LabelControl
    
End With

End Sub

Die Konstanten Laufwerk und Pfad musst du an deine Verhältnisse anpassen.

Gruß Klaus

nach oben   nach unten

Vielen Dank! :)
von: Lena
Geschrieben am: 20.05.2002 - 21:58:26

Danke, es funktioniert!!! :)
 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Bezeichnungsfeld-Caption in die Tabelle Schreiben"