Thema Datum  Von Nutzer Rating
Antwort
Rot UserForm-Verwaltungstool
13.11.2019 08:48:40 Alex
NotSolved

Ansicht des Beitrags:
Von:
Alex
Datum:
13.11.2019 08:48:40
Views:
1005
Rating: Antwort:
  Ja
Thema:
UserForm-Verwaltungstool

Moin zusammen,

ich habe ein Verwaltungstool in VBA erstellt und dies funktioniert auch super. Bisher ist es jedoch so, dass das Tool nur in der Arbeitsmappe funktioniert, in der man sich gerade befindet. Ebenfalls werden alle Spalten von dem Tool berücksichtigt. Mein Ziel ist jedoch, dass das Tool auf eine Arbeitsmappe zugreift welche auf einem Server für jeden zugänglich ist und nur bestimmte Spalten angesteuert werden. Kann mir da jemand helfen? 

Nochmal die Ziele in der Kurzform:

- Daten sollen aus anderer Arbeitsmappe bezogen werden (am besten ohne das diese geöffnet werden muss)

- Es sollen nicht alle Spalten sondern nur bestimmte zur Datenverarbeitung angesteuert werden.

 

Hier ist der Code für das gesamte Tool:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Private Sub Button_Abbrechen_Click()
 
Unload Me
 
End Sub
 
Private Sub Button_ändern_Click()
 
Dim lngZeile As Long
Dim i As Integer
 
'Zuerst prüfen ob ein Datensatz im Listenfeld markiert ist
 
If Me.ListBox1.ListIndex >= 0 Then
  lngZeile = Me.ListBox1.Column(7, Me.ListBox1.ListIndex)
  For i = 2 To 12
    tbl_Artikel.Cells(lngZeile, i).Value = Me.Controls("TextBox" & i).Value
  Next i
   
'Zurückschreiben in die ListBox
 
For i = 1 To 6
  Me.ListBox1.Column(i, Me.ListBox1.ListIndex) = Me.Controls("TextBox" & i + 1).Value
Next i
 
Else
 MsgBox "Bitte markieren Sie einen Datensatz im Listenfeld!"
  
End If
 
 
End Sub
 
Private Sub Button_Leeren_Click()
 
Dim obj As Object
 
    For Each obj In Me.Controls
         
      If TypeName(obj) = "TextBox" Then
        obj.Value = ""
      End If
       
    Next obj
     
'ListBox leeren
Me.ListBox1.Clear
 
End Sub
 
Private Sub Button_Suchen_Click()
 
Dim lngZeile As Long
Dim lngZeileMax As Long
Dim i As Integer
 
Me.ListBox1.Clear
 
With tbl_Artikel
 
 lngZeileMax = .Cells(.Rows.Count, 1).End(xlUp).Row
 For lngZeile = 3 To lngZeileMax
 If InStr(.Cells(lngZeile, 1).Value, Me.TextBox1.Value) > 0 Then
     
    Me.ListBox1.AddItem .Cells(lngZeile, 1).Value           'Daten aus Zellen holen und in ListBox anzeigen
    Me.ListBox1.Column(1, i) = .Cells(lngZeile, 2).Value
    Me.ListBox1.Column(2, i) = .Cells(lngZeile, 3).Value
    Me.ListBox1.Column(3, i) = .Cells(lngZeile, 4).Value
    Me.ListBox1.Column(4, i) = .Cells(lngZeile, 5).Value
    Me.ListBox1.Column(5, i) = .Cells(lngZeile, 6).Value
    Me.ListBox1.Column(6, i) = .Cells(lngZeile, 7).Value
    Me.ListBox1.Column(7, i) = lngZeile
    i = i + 1
     
    End If
   
  Next lngZeile
   
  End With
   
End Sub
 
 
 
Private Sub ListBox1_Click() 'Per Klick die Daten aus der ListBox in das Formular übertagen
 
Dim lngZeile As Long
Dim i As Integer
 
lngZeile = Me.ListBox1.Column(7, Me.ListBox1.ListIndex)
 
For i = 1 To 12
  Me.Controls("TextBox" & i).Value = tbl_Artikel.Cells(lngZeile, i).Value
Next i
 
 
 
End Sub
 
Private Sub UserForm_Initialize()
 
Dim i As Integer
Dim wks As Worksheet
Set wks = ThisWorkbook.Worksheets("tbl_Artikel")
 
With wks
 
 
'Überschrift der Userform aus Zelle A1 holen
Me.Caption = .Range("A1").Value
 
For i = 1 To 12
    Me.Controls("Label" & i).Caption = .Cells(2, i).Value
Next i
 
'Überschrift der Listbox aus Tabelle holen
For i = 1 To 12
    Me.Controls("Label" & i + 12).Caption = .Cells(2, i).Value
Next i
 
End With
 
'ListBox erstellen
With Me.ListBox1
    .ColumnCount = 6
    .ColumnWidths = "90;200;75;75;40;40"
End With
 
'Cursor standardmäßig in die erste Textbox setzen
Me.TextBox1.SetFocus
     
End Sub

 

Vielen Dank schon mal im Voraus für eure Hilfe.

Gruß Alex


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot UserForm-Verwaltungstool
13.11.2019 08:48:40 Alex
NotSolved