Thema Datum  Von Nutzer Rating
Antwort
Rot Zeile anhand ID lokalisieren
05.02.2024 15:20:05 Jamie99
NotSolved
06.02.2024 07:41:44 ralf_b
*****
Solved

Ansicht des Beitrags:
Von:
Jamie99
Datum:
05.02.2024 15:20:05
Views:
494
Rating: Antwort:
  Ja
Thema:
Zeile anhand ID lokalisieren
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
Ich bin noch Anfänger deswegen bitte gnädig sein.
 
Und zwar habe ich es zwar schon hinbekommen, dass meine ID UPR1 fortlaufen nummeriert wird (<span style="color:#2980b9">Code in blau</span>) aber jetzt komme ich nicht weiter bei dem Wiederfinden einer Zeile anhand dieser ID (<span style="color:#c0392b">Code in rot</span>).
 
In dem Tutorial und auch bei funktioniert es so, dass ich auf eine Zelle in meiner Datenbank klicke,dann ein Makro ausführe, alle Spalten in  eine Eingabemaske gelangen. Habe ich als ID eine Nummer z.B 1, dann kann ich die Daten in der Eingabemaske verändern, durch ein Makro speichern und am Ende ist der Eintrag in der Datenbank verändert aber an der gleichen Position.(<span style="color:#c0392b">Code in rot</span>)
Jetzt kommt aber der Haken, dass ich nicht nur eine Nummer als ID verwenden möchte, sondern wie bei mir UPR1, UPR2 usw. als ID benutze.
 
Könnt ihr mir vielleicht weiterhelfen und den Code entsprechend anpassen.
 
Vielen Dank im Voraus
 
Jamie
 
 
 
 
 
Sub EinträgeBearbeiten_UIDPCREingabe()
 
    Dim header As Variant
    Dim Spalte As Long
    Spalte = 1
 
 
'Tabelle einlesen
 
Dim tbl As ListObject
 Set tbl = Worksheets(ws_UIDPCR).ListObjects(1)
 
With Worksheets(ws_Eingabe)
    'Zeile leeren
     
    .Rows("12").ClearContents
    .Rows("15").ClearContents
    .Rows("18").ClearContents
     
    'Alle Werte eintragen
    For Each header In tbl.HeaderRowRange
     
 
    .Range(.Cells.Find(What:=header, LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0).Address).Value = _
    tbl.DataBodyRange(ActiveCell.row - tbl.HeaderRowRange.row, Spalte).Value
    Spalte = Spalte + 1
    Next header
     
     
    'Tabellenblatt navigieren
    .Shapes.Range(Array("img_Anlegen", "txt_Anlegen")).Visible = False
    .Shapes.Range(Array("img_Bearbeiten", "txt_Bearbeiten")).Visible = True
     
    Call Sheetswitch(ws_Eingabe)
    'Zelle auswählen
    .Range("D15").Select
     
End With
 
End Sub
 
 
Sub EinträgeAnlegen_UIDPCREingabe()
 
'Tabelle einlesen
 
Dim tbl As ListObject
Set tbl = Worksheets(ws_UIDPCR).ListObjects(1)
 
With Worksheets(ws_Eingabe)
 
    'Zeile leeren
     
    .Rows("12").ClearContents
    .Rows("15").ClearContents
    .Rows("18").ClearContents
     
    'ID eintragen
<span style="color:#2980b9">    .Range("F12").Value = "UPR" & Val(Mid(tbl.DataBodyRange(tbl.DataBodyRange.Rows.Count, 1).Value, 4)) + 1</span>
 
    'Tabellenblatt navigieren
    .Shapes.Range(Array("img_Anlegen", "txt_Anlegen")).Visible = True
    .Shapes.Range(Array("img_Bearbeiten", "txt_Bearbeiten")).Visible = False
    Call Sheetswitch(ws_Eingabe)
     
    'Zelle auswählen
    .Range("D15").Select
     
End With
 
 
End Sub
 
Sub EinträgeAnlegen_EingabeUIDPCR()
    Dim tbl As ListObject
    Dim header As Variant
    Dim newRow As ListRow
    Dim cell As Range
    Dim Spalte As Long
    Dim Zeile As Long
     
With Worksheets(ws_UIDPCR)
     
        ' Tabelle einlesen
        Set tbl = .ListObjects(1)
         
        'Neuer Eintrag?
         
            If Worksheets(ws_Eingabe).Shapes("img_Anlegen").Visible = True Then
     
            ' Neue Zeile hinzufügen
            Set newRow = tbl.ListRows.Add(AlwaysInsert:=True)
             
            'Zeile definieren
            Zeile = tbl.DataBodyRange.Rows.Count
             
            ' Durch jede Zelle in der neuen Zeile iterieren
            For Each cell In newRow.Range
                ' Textumbruch aktivieren
                cell.WrapText = True
                ' Zeilenhöhe automatisch anpassen
                cell.Rows.AutoFit
            Next cell
             
        'Eintrag bearbeiten?
          Else
           
    <span style="color:#c0392b">Zeile = Worksheets(ws_Eingabe).Range(Worksheets(ws_Eingabe).Cells.Find(What:="ID", LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0).Address).Value</span>
               
End If
         
     
End With
     
With Worksheets(ws_Eingabe)
 
    'Schleife über alle Tabellenheader
    For Each header In tbl.HeaderRowRange
     
    tbl.DataBodyRange(Zeile, Spalte).Value = _
    .Range(.Cells.Find(What:=header, LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0).Address).Value
     
        Spalte = Spalte + 1
    Next header
 
End With
 
'Tabellenblatt UIDPCR auswählen und in Zeile springe
 
Call Nav_UIDPCR
tbl.DataBodyRange(Zeile, 1).Select
ActiveWindow.ScrollRow = Zeile + tbl.HeaderRowRange.row
     
End Sub

 


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 Zeile anhand ID lokalisieren
05.02.2024 15:20:05 Jamie99
NotSolved
06.02.2024 07:41:44 ralf_b
*****
Solved