Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1880to1884
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

Suchformular stürzt ab :(

Suchformular stürzt ab :(
03.05.2022 08:39:18
Andre
Hi :)
https://www.herber.de/bbs/user/152811.xlsm
alles kappt super - aber wenn die Spalte H der ID 2 länger ist dann kommt es zur folgendem Fehler:
Der Text ist zu lange in der Spalte H - (sind ca 4500 Zeichen)
Ist es zu viel beim Einlesen in die Listbox in der Userform1
Wie kann ich dennoch längere Texte verwenden?
Bzw. wenn ich viele Datensätze habe, dauert es zu lange das Userform 01 zu öffnen - weil er alles reinladet..
Hier die Screens: 1-3:
https://ibb.co/ncQJVjj
https://ibb.co/0C646pq
https://ibb.co/3SmPZHp
Hier der Quellcode:

Option Explicit
Option Compare Text
'Wie viele TextBoxen sind auf der UserForm platziert?
Private Const iCONST_ANZAHL_EINGABEFELDER As Integer = 11
'In welcher Zeile starten die Eingaben?
Private Const lCONST_STARTZEILENNUMMER_DER_TABELLE As Long = 4
Dim arrListIn As Variant
' EREIGNISROUTINEN DER USERFORM
'Neuer Eintrag Schaltfläche Ereignisroutine
Private Sub CommandButton1_Click()
Call EINTRAG_ANLEGEN 'Aufruf der entsprechenden Verarbeitungsroutine
End Sub
'Löschen Schaltfläche Ereignisroutine
Private Sub CommandButton2_Click()
Call EINTRAG_LOESCHEN 'Aufruf der entsprechenden Verarbeitungsroutine
End Sub
'Speichern Schaltfläche Ereignisroutine
Private Sub CommandButton3_Click()
Call EINTRAG_SPEICHERN 'Aufruf der entsprechenden Verarbeitungsroutine
End Sub
'Beenden Schaltfläche Ereignisroutine
Private Sub CommandButton4_Click()
Unload Me
End Sub
Private Sub Image1_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
End Sub
Private Sub Label12_Click()
Call SortList(12, xlNumber)
End Sub
Private Sub Label13_Click()
Call SortList(13, xlNumber)
End Sub
Private Sub Label14_Click()
Call SortList(14, xlText)
End Sub
Private Sub Label15_Click()
Call SortList(15, xlText)
End Sub
Private Sub Label16_Click()
Call SortList(16, xlText)
End Sub
Private Sub Label17_Click()
Call SortList(17, xlText)
End Sub
Private Sub Label18_Click()
Call SortList(18, xlText)
End Sub
Private Sub Label19_Click()
Call SortList(19, xlDate)
End Sub
Private Sub Label35_Click()
End Sub
Private Sub ListBox1_Change()
End Sub
'Klick auf die ListBox Ereignisroutine
Private Sub ListBox1_Click()
Call EINTRAG_LADEN_UND_ANZEIGEN 'Aufruf der entsprechenden Verarbeitungsroutine
End Sub
Private Sub SucheAlt_Change()
End Sub
Private Sub TextBox12_Change()
End Sub
Private Sub SucheNr_Change()
Dim Zeile As Long, arrFilter As Variant, arrListErg As Variant, i As Long, j As Long, k As Long
k = 1
ReDim arrFilter(1 To UBound(arrListIn, 1) + 1, 1 To UBound(arrListIn, 2) + 1)
For Zeile = 1 To UBound(arrListIn) + 1
If InStr(1, LCase(arrListIn(Zeile - 1, 1)), LCase(Me.SucheNr.Value))  0 Then
For j = 1 To UBound(arrListIn, 2) + 1
arrFilter(Zeile, j) = arrListIn(Zeile - 1, j - 1)
Next j
i = i + 1
End If
Next Zeile
If i = 0 Then
ListBox1.Clear
Exit Sub
End If
ReDim arrListErg(1 To i, 1 To UBound(arrFilter, 2))
For Zeile = 1 To UBound(arrFilter)
If arrFilter(Zeile, 2) = "" Then
GoTo Weiter
Else
For j = 1 To UBound(arrListErg, 2)
arrListErg(k, j) = arrFilter(Zeile, j)
Next j
k = k + 1
End If
Weiter:
Next Zeile
With ListBox1
.Clear
If Not IsEmpty(arrListErg) Then
.List = arrListErg
End If
End With
End Sub
Private Sub TextBox13_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, _
ByVal Y As Single)
If InStr(TextBox13.Value, "http") > 0 Then
ActiveWorkbook.FollowHyperlink TextBox13
Else
ActiveWorkbook.FollowHyperlink "mailto:" & TextBox13
End If
TextBox13.ForeColor = RGB(139, 35, 35)
End Sub
Private Sub TextBox14_Change()
End Sub
Private Sub TextBox8_Change()
End Sub
'Diese Ereignisroutine wird beim Anzeigen der UserForm ausgeführt
Private Sub UserForm_Activate()
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0 '1. Eintrag selektieren
End Sub
'Startroutine, wird ausgeführt bevor die Eingabemaske angezeigt wird
Private Sub UserForm_Initialize()
Call LISTE_LADEN_UND_INITIALISIEREN 'Aufruf der entsprechenden Verarbeitungsroutine
' Hier einfügen wegen Breite
With ListBox1 'ab hier kopieren und einfügen
.ColumnCount = 8
.ColumnHeads = False
.ColumnWidths = "1cm;1cm;12cm;3,8cm;3,8cm;3,8cm;2,5cm;2cm"    ' beliebig  einstellen
End With
arrListIn = ListBox1.List
End Sub
' VERARBEITUNGSROUTINEN
'Diese Routine wird aufgerufen um die Liste (ListBox1) zu leeren, einzustellen und neu zu füllen
Private Sub LISTE_LADEN_UND_INITIALISIEREN()
Dim lZeile As Long
Dim lZeileMaximum As Long
Dim i As Integer
'Alle TextBoxen leer machen
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Me.Controls("TextBox" & i) = ""
Next i
ListBox1.Clear 'Liste leeren
' X Spalten einrichten Zahl der Spalten eingeben
'x ListBox1.ColumnCount = 9
'Spaltenbreiten der Liste anpassen (0=ausblenden, nichts=automatisch)
'";;;"
'x ListBox1.ColumnWidths = "0;30;30;290;60;120;120;120"
'Feste Breiten: ListBox1.ColumnWidths = "0;100;100;100"
'Um eine Schleife für alle Datensätze zu erhalten benötigen wir die letzte verwendete Zeile
lZeileMaximum = Tabelle1.UsedRange.Rows.Count 'Benutzer Bereich auslesen
For lZeile = lCONST_STARTZEILENNUMMER_DER_TABELLE To lZeileMaximum
'Nur wenn die Zeile benutzt / nicht leer ist, zeigen wir etwas an:
If IST_ZEILE_LEER(lZeile) = False Then
'Spalte 1 der Liste mit der Zeilennummer füllen
ListBox1.AddItem lZeile
'Spalten 2 bis 4 der Liste füllen
ListBox1.List(ListBox1.ListCount - 1, 1) = CStr(Tabelle1.Cells(lZeile, 1).Text)
ListBox1.List(ListBox1.ListCount - 1, 2) = CStr(Tabelle1.Cells(lZeile, 2).Text)
'ListBox1.List(ListBox1.ListCount - 1, 3) = CStr(Tabelle1.Cells(lZeile, 3).Text)
ListBox1.List(ListBox1.ListCount - 1, 3) = (Tabelle1.Cells(lZeile, 3).Value)
'ListBox1.List(ListBox1.ListCount - 1, 4) = CStr(Tabelle1.Cells(lZeile, 4).Text)
ListBox1.List(ListBox1.ListCount - 1, 4) = (Tabelle1.Cells(lZeile, 4).Value)
'ListBox1.List(ListBox1.ListCount - 1, 5) = CStr(Tabelle1.Cells(lZeile, 5).Text)
ListBox1.List(ListBox1.ListCount - 1, 5) = (Tabelle1.Cells(lZeile, 5).Value)
'ListBox1.List(ListBox1.ListCount - 1, 6) = CStr(Tabelle1.Cells(lZeile, 6).Text)
ListBox1.List(ListBox1.ListCount - 1, 6) = (Tabelle1.Cells(lZeile, 6).Value)
'ListBox1.List(ListBox1.ListCount - 1, 7) = CStr(Tabelle1.Cells(lZeile, 7).Text)
ListBox1.List(ListBox1.ListCount - 1, 7) = (Tabelle1.Cells(lZeile, 7).Value)
ListBox1.List(ListBox1.ListCount - 1, 8) = CStr(Tabelle1.Cells(lZeile, 8).Text)
'ListBox1.List(ListBox1.ListCount - 1, 9) = (Tabelle1.Cells(lZeile, 9).Value)
'ListBox1.List(ListBox1.ListCount - 1, 9) = CStr(Tabelle1.Cells(lZeile, 9).Text)
ListBox1.List(ListBox1.ListCount - 1, 9) = CStr(VBA.Left(Tabelle1.Cells(lZeile, 9).Text, 100))
'ListBox1.List(ListBox1.ListCount - 1, 10) = CStr(Tabelle1.Cells(lZeile, 10).Text)
'ListBox1.List(ListBox1.ListCount - 1, 11) = CStr(Tabelle1.Cells(lZeile, 11).Text)
End If
Next lZeile
End Sub
Private Sub EINTRAG_LADEN_UND_ANZEIGEN()
Dim lZeile As Long
Dim i As Integer
'Eingabefelder resetten
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Me.Controls("TextBox" & i) = ""
Next i
'Nur wenn ein Eintrag selektiert/markiert ist
If ListBox1.ListIndex >= 0 Then
'Die Zeilennummer des Datensatzes steht in der ersten ausgeblendeten Spalte der Liste,
'somit können wir direkt zugreifen.
lZeile = ListBox1.List(ListBox1.ListIndex, 0)
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Me.Controls("TextBox" & i) = CStr(Tabelle1.Cells(lZeile, i).Text)
Next i
TextBox13 = Tabelle1.Cells(lZeile, 12).Text
TextBox13.Font.Underline = True
End If
End Sub
Private Sub EINTRAG_SPEICHERN()
Dim lZeile As Long
Dim i As Integer
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If ListBox1.ListIndex = -1 Then Exit Sub
'Zum Speichern benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = ListBox1.List(ListBox1.ListIndex, 0)
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Tabelle1.Cells(lZeile, i) = Me.Controls("TextBox" & i)
Next i
Tabelle1.Cells(lZeile, 12) = Me.TextBox13
'Der Benutzer könnte die angezeigten Werte in der Liste geändert haben,
'daher aktualisieren wir den ausgewählten Eintrag entsprechend.
ListBox1.List(ListBox1.ListIndex, 1) = TextBox1
ListBox1.List(ListBox1.ListIndex, 2) = TextBox11
ListBox1.List(ListBox1.ListIndex, 3) = TextBox3
End Sub
Private Sub EINTRAG_LOESCHEN()
Dim lZeile As Long
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If ListBox1.ListIndex = -1 Then Exit Sub
'Beim Löschen fragen wir zuerst den Benutzer noch einmal sicherheitshalber:
If MsgBox("Sie möchten den markierten Datensatz wirklich löschen?", _
vbQuestion + vbYesNo, "Sicherheitsabfrage!") = vbYes Then
'Nur wenn er mit  antwortet, löschen wir auch!
'Zum Löschen benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = ListBox1.List(ListBox1.ListIndex, 0)
'Die ganze Zeile wird nun gelöscht
Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete
'Und den Eintrag in der Liste müssen wir auch noch entfernen
ListBox1.RemoveItem ListBox1.ListIndex
End If
End Sub
Private Sub EINTRAG_ANLEGEN()
Dim lZeile As Long
lZeile = lCONST_STARTZEILENNUMMER_DER_TABELLE
'Schleife bis eine leere ungebrauchte Zeile gefunden wird
Do While IST_ZEILE_LEER(lZeile) = False
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
'Nach Durchlauf dieser Schleife steht lZeile in der ersten leeren Zeile von Tabelle1
Tabelle1.Cells(lZeile, 1) = CStr("Neuer Eintrag Zeile " & lZeile)
'Und neuen Eintrag in die UserForm eintragen
ListBox1.AddItem lZeile
ListBox1.List(ListBox1.ListCount - 1, 1) = CStr("Neuer Eintrag Zeile " & lZeile)
ListBox1.List(ListBox1.ListCount - 1, 2) = ""
ListBox1.List(ListBox1.ListCount - 1, 3) = ""
'Den neuen Eintrag markieren mit Hilfe des ListIndex
ListBox1.ListIndex = ListBox1.ListCount - 1
'Durch das Click Ereignis der ListBox werden die Daten automatisch geladen
'Und dem Benutzer direkt noch den Cursor in das erste Eingabefeld stellen und alles vorselektieren,
'so kann der Benutzer direkt loslegen mit der Dateneingabe.
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
End Sub
' HILFSFUNKTIONEN
'Ermittelt, ob eine Zeile in Benutzung ist...
Private Function IST_ZEILE_LEER(ByVal lZeile As Long) As Boolean
Dim i As Long
Dim sTemp As String
'Hilfsvariable initialisieren
sTemp = ""
'Um zu erkennen, ob eine Zeile komplett leer/ungebraucht ist
'verketten wir einfach alle Spalteninhalte der Zeile miteinander.
'Ist die zusammengesetzte Zeichenkette aller Spalten leer,
'ist die Zeile nicht genutzt...
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
sTemp = sTemp & Trim(CStr(Tabelle1.Cells(lZeile, i).Text))
Next i
'Rückgabewert festlegen
If Trim(sTemp) = "" Then
'Die Zeile ist leer
IST_ZEILE_LEER = True
Else
'Die Zeile ist mindestens in einer Spalte gefüllt
IST_ZEILE_LEER = False
End If
End Function
'Sortieren der Listboxfelder
Private Sub SortList(ByVal pvlngNumber As Long, ByVal pvenmDatatType As XlPivotFieldDataType)
Dim avntList As Variant
Call ResetLabels(pvlngNumber)
avntList = ListBox1.List
With Controls("Label" & CStr(pvlngNumber))
If .Tag = "A" Then
.Tag = "D"
.ForeColor = vbRed
Call QuickSort(LBound(avntList), UBound(avntList), pvlngNumber - 11, xlDescending, pvenmDatatType, avntList)
Else
.Tag = "A"
.ForeColor = vbRed
Call QuickSort(LBound(avntList), UBound(avntList), pvlngNumber - 11, xlAscending, pvenmDatatType, avntList)
End If
End With
ListBox1.List = avntList
End Sub
Private Sub ResetLabels(ByVal pvlngNumber As Long)
Dim lngIndex As Long
For lngIndex = 12 To 19
If lngIndex  pvlngNumber Then
With Controls("Label" & CStr(lngIndex))
.ForeColor = vbBlue
.Tag = "D"
End With
End If
Next
End Sub
Private Sub QuickSort(ByVal pvlngLbound As Long, ByVal pvlngUbound As Long, _
ByVal pvlngSortColumn As Long, ByVal pvenmSortOrder As XlSortOrder, _
ByVal pvenmDatatType As XlPivotFieldDataType, ByRef pravntArray As Variant)
Dim intIndex As Integer
Dim lngIndex1 As Long, lngIndex2 As Long
Dim vntTemp As Variant, vntBuffer As Variant
lngIndex1 = pvlngLbound
lngIndex2 = pvlngUbound
Select Case pvenmDatatType
Case xlText
vntBuffer = CStr(pravntArray((pvlngLbound + pvlngUbound) \ 2, pvlngSortColumn))
Case xlDate
vntBuffer = CDate(pravntArray((pvlngLbound + pvlngUbound) \ 2, pvlngSortColumn))
Case xlNumber
vntBuffer = CDec(pravntArray((pvlngLbound + pvlngUbound) \ 2, pvlngSortColumn))
End Select
Do
Select Case pvenmDatatType
Case xlText
If pvenmSortOrder = xlAscending Then
Do While CStr(pravntArray(lngIndex1, pvlngSortColumn))  vntBuffer
lngIndex1 = lngIndex1 + 1
Loop
Do While vntBuffer > CStr(pravntArray(lngIndex2, pvlngSortColumn))
lngIndex2 = lngIndex2 - 1
Loop
End If
Case xlDate
If pvenmSortOrder = xlAscending Then
Do While CDate(pravntArray(lngIndex1, pvlngSortColumn))  vntBuffer
lngIndex1 = lngIndex1 + 1
Loop
Do While vntBuffer > CDate(pravntArray(lngIndex2, pvlngSortColumn))
lngIndex2 = lngIndex2 - 1
Loop
End If
Case xlNumber
If pvenmSortOrder = xlAscending Then
Do While CDec(pravntArray(lngIndex1, pvlngSortColumn))  vntBuffer
lngIndex1 = lngIndex1 + 1
Loop
Do While vntBuffer > CDec(pravntArray(lngIndex2, pvlngSortColumn))
lngIndex2 = lngIndex2 - 1
Loop
End If
End Select
If lngIndex1  _
pravntArray(lngIndex2, pvlngSortColumn) Then
For intIndex = LBound(pravntArray, 2) To UBound(pravntArray, 2)
vntTemp = pravntArray(lngIndex1, intIndex)
pravntArray(lngIndex1, intIndex) = _
pravntArray(lngIndex2, intIndex)
pravntArray(lngIndex2, intIndex) = vntTemp
Next
End If
lngIndex1 = lngIndex1 + 1
lngIndex2 = lngIndex2 - 1
ElseIf lngIndex1 = lngIndex2 Then
lngIndex1 = lngIndex1 + 1
lngIndex2 = lngIndex2 - 1
End If
Loop Until lngIndex1 > lngIndex2
If pvlngLbound  0 Then
ActiveWorkbook.FollowHyperlink TextBox1
Else
ActiveWorkbook.FollowHyperlink "https://" & TextBox1
End If
TextBox1.ForeColor = RGB(139, 35, 35)
'Hyperlink aktivieren
Dim Zelle As Range
Dim rngSpalte As Range
Set rngSpalte = Range("L4:L10000") 'die Spalte wo der Link sein soll anpassen!
For Each Zelle In rngSpalte
If Zelle = "" Then Exit For
ActiveSheet.Hyperlinks.Add Anchor:=Zelle, Address:=Zelle.Value
Next
End Sub
'Suchroutine für Titel
Private Sub SucheTitel_Change()
Dim Zeile As Long, arrFilter As Variant, arrListErg As Variant, i As Long, j As Long, k As Long
k = 1
ReDim arrFilter(1 To UBound(arrListIn, 1) + 1, 1 To UBound(arrListIn, 2) + 1)
For Zeile = 1 To UBound(arrListIn) + 1
If InStr(1, LCase(arrListIn(Zeile - 1, 2)), LCase(Me.SucheTitel.Value))  0 Then
For j = 1 To UBound(arrListIn, 2) + 1
arrFilter(Zeile, j) = arrListIn(Zeile - 1, j - 1)
Next j
i = i + 1
End If
Next Zeile
If i = 0 Then
ListBox1.Clear
Exit Sub
End If
ReDim arrListErg(1 To i, 1 To UBound(arrFilter, 2))
For Zeile = 1 To UBound(arrFilter)
If arrFilter(Zeile, 2) = "" Then
GoTo Weiter
Else
For j = 1 To UBound(arrListErg, 2)
arrListErg(k, j) = arrFilter(Zeile, j)
Next j
k = k + 1
End If
Weiter:
Next Zeile
With ListBox1
.Clear
If Not IsEmpty(arrListErg) Then
.List = arrListErg
End If
End With
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchformular stürzt ab :(
03.05.2022 11:33:10
Alwin
Hallo Andre,
die Ursachen sind unzulässige Zeichen und zu langer Text in der Zelle "H5". Kürzt man den Text und schmeißt das ` raus funktioniert die Userform normal.
Übrigens: Wenn du mehr als 10 Spalten verarbeiten willst, klappt das mit der Methode .AddItem nicht. Bei mehr als 10 Spalten ist .List zum Laden der LB das Mittel der Wahl.
Gruß Uwe
kann in H nichts kürzen
03.05.2022 11:38:30
Andre
hi danke -
Ich brauche aber nicht nur 255 Zeichen in dem Textfeld - wie kann ich das dennoch machen?
Zumal es auch viele Datensätze sind.
Mehr als 10 Items wäre nett - wichtiger ist mir aber - dass es dann schneller zum laden geht - hier bei zwei Datensätzen fällt es nicht auf ... bei mehr schon.
LG Andre
Anzeige
AW: kann in H nichts kürzen
03.05.2022 12:52:10
Alwin
teste mal:

ListBox1.List(ListBox1.ListCount - 1, 8) = Left(CStr(Tabelle1.Cells(lZeile, 8).Text), 10)
Damit landet nur das Datum in der Zelle der Listbox.
Das langsame Laden sehr großer Datenmengen kann man am besten on Block mittels Array und .List machen. Mit .AddItem und Schleife dauert es eben.
Gruß Uwe
AW: Suchformular stürzt ab :(
03.05.2022 12:53:57
Alwin
muss richtig heißen:
Das langsame Laden sehr großer Datenmengen kann man am besten on Block mittels Array und .List vehindern.
AW: Suchformular stürzt ab :(
03.05.2022 22:57:56
Alwin
Tausche mal diese Prozedur aus:

Private Sub LISTE_LADEN_UND_INITIALISIEREN()
Dim lZeile As Long
Dim lZeileMaximum As Long
Dim i As Integer, j As Long, lz As Long
Dim arrTab(), arrList()
' laden der Tabelle in die Listbox Spalte A bis H
With Tabelle1
For i = .Cells(.Rows.Count, 1).End(xlUp).Row To 4 Step -1
If .Cells(i, 1)  "" Then
lz = lz + 1
End If
Next i
'einlesen der Spalten A bis H
arrTab = .Range("A4:H" & lz + 3).Value
' Einbau der Zeilennummer der Tabelleneinträge
ReDim arrList(1 To UBound(arrTab, 1), 1 To UBound(arrTab, 2) + 1)
For i = 1 To UBound(arrList, 1)
For j = 2 To UBound(arrList, 2)
arrList(i, 1) = i + 3
arrList(i, j) = arrTab(i, j - 1)
Next j
Next i
End With
'Alle TextBoxen leer machen
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Me.Controls("TextBox" & i) = ""
Next i
With ListBox1
.Clear 'Liste leeren
.List = arrList
End With
End Sub
Damit sollte das Laden der Listbox deutlich schneller gehen.
Ich hoffe es hilft dir weiter.
Gruß Uwe
Anzeige
AW: Suchformular stürzt ab :(
04.05.2022 12:14:59
Andre
wow danke - das geht ja in einem Bruchteil einer Sekunde - das ist die perfekte Routine - danke vielmals :)
Darf ich Dich noch fragen wenn ich auch in der Liste nach Main Key abfragen möchte - wie ich das mache zum Beispiel - die anderen mache ich dann mir selber - sub detail und land ... :)
danke vielmals :) Alwin

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige