Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Bereich "Datenbank" vs. Liste
Jörg-HH
Hallo zusammen,
kleiner Hinweis vorweg: Dies ist nicht wirklich ein "Datenbank"-Problem. Meine Datei ist ein Rechenwerk. Die dafür nötigen Daten (Kunden, Lieferanten usw.) beschränken sich auf einige zig oder hundert. Die stehen hier:
In einem Blatt "Datenbank" gibt es einen Bereich, der "Datenbank" heißt. Diesen kann man bekanntlich per Eingabemaske bearbeiten, ohne daß er als Liste deklariert ist, und ohne, daß die aktive Zelle drin stehen muß. Das hatte ich aber bisher nicht genutzt.
Der Bereich war aber gleichzeitig immer auch als Liste deklariert gewesen, und wenn ich da manuell was geändert habe (zB neuen Datensatz hinzu), wurde die Liste erwartungsgemäß auch größer. Daß dabei der Bereich "Datenbank" nicht mit vergrößert wurde, hatte ich mangels Nutzung nie bemerkt.
Nun habe ich Dank Franz' Hilfe in einem anderen Blatt eine Userform erstellt, die verschied. Listboxen enthält und u.a. auch eine Combobox, die eine Vorauswahl trifft - und dazu auf den Bereich Datenbank zugreift - siehe Upload.
Außerdem gibt es jetzt an anderer Stelle einen Button, der bequem die Eingabemaske aufruft, wodurch ich das Feature erstmals nutze. Dadurch fiel mir nun auf: Wenn ich die Liste nicht manuell erweitere, sondern per Maske, dann erweitert sich mit jedem zusätzlichen Datensatz zwar der Bereich "Datenbank" erwartungsgemäß - nicht aber die darüber liegende Liste. Also genau umgekehrt zur manuellen Bearbeitung.
Also dachte ich mir: Was soll da 'ne Liste sein, die sowieso nicht aktualisiert wird - reicht doch, wenn der Bereich "Datenbank" heißt und selbsttätig mitwächst... und hab also die Liste abgeschaltet. Aber irgendwas im Code greift auf diese xl-Liste zu und nicht auf den Bereich "Datenbank", denn nachdem ich das gemacht hatte, konnte ich plötzlich die UF nicht mehr aufrufen. Es kam die Meldung "Index außerhalb des gültigen Bereichs", und markiert wurde dies
Private Sub CommandButton1_Click()
userform1.Show
End Sub
Also hab ich die Liste wieder eingeschaltet. Nur - wenn ich jetzt per Maske Datensätze hinzufüge, stehen sie außerhalb der Liste und werden bei der Vorauswahl nicht erfaßt.
Ich bräuchte also eine von zwei Lösungen:
Entweder der Code kann so umgebaut werden, daß er nicht die xl-Liste benötigt, sondern immer nur auf den veränderlichen Bereich "Datenbank" zugreift...
Oder er bekommt einen Zusatz, daß bei Veränderung von Bereich "Datenbank" die Liste mit verändert wird.
Nun hab ich schon große Mühe, den Code halbwegs zu verstehen - eine Idee, wo ich bei diesem Problem ansetzen sollte, hab ich daher natürlich schon gar nicht :-((
Hat jemand von euch 'n Vorschlag?
Grüße - Jörg
Für die Historie - hiermit gings los - mein Nachhilfeunterricht bei Franz :-)
https://www.herber.de/forum/archiv/1100to1104/t1103068.htm#1103068
und hier haben mir Tino und Daniel weiter auf die Sprünge geholfen
https://www.herber.de/forum/archiv/1104to1108/t1105056.htm#1105056
und hier ist die Beispiel-Datei, mit der man ausprobieren kann, was ich oben beschrieben hab:
https://www.herber.de/bbs/user/64727.xls

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bereich "Datenbank" vs. Liste
27.09.2009 09:38:33
fcs
Hallo Rolf,
da ist noch etwas Datenmül in einer meiner Prozduren für das Userform übergeblieben, der auf das Listen-Objekt zugreift.
Diese Liste wird aber für die Funktionalität nicht benötigt. Da meine ursprüngliche Idee, den Filterstatus zu ermitteln mit dem Listen-Objekt nicht funktionierte. Ich hatte nur vergessen diese Zeilen im Code zu löschen.
Passe die Initialisierungs-Prozedur des UF wie folgt an, dann sollte es Funktionieren. Die Liste kannst du dann in einen normalen Bereich umwandeln. DU muss nur darauf achten, dass in Spalte A keine Zeilen mit Leerzellen vorhanden sind, da im Userform die letzte Zeile mit End(xlDown) ab Zelle A1 ermittelt wird.
Gruß
Franz
Private Sub UserForm_Initialize()
Dim wks As Worksheet, Zeile As Long, objFilter As Filter
Set wks = Worksheets("Datenbank")
'Prüfen, ob in "Datenbank" alle Daten eingeblendet sind.
With wks
If .Cells.Count  .Cells.SpecialCells(xlCellTypeVisible).Count Then
.Rows.Hidden = False
End If
End With
End Sub

Anzeige
Paßt :-)) ....
27.09.2009 11:11:30
Jörg-HH
Moin Franz
danke für die Korrektur. Jetzt haut's hin.
Übrigens mußte ich grinsen - du schreibst in der Anrede "Rolf". So heißt zufällig mein Vater, und der hat von Computern nun so gar keine Ahnung... is ja auch schon über achtzig :-)
Wünsche geruhsames Kreuzchenmachen...
Jörg

300 Forumthreads zu ähnlichen Themen


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin
Anzeige

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....
Anzeige

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?

Hallo Excel-Profis
ich habe folgenden Code in ein Makro eingebaut:
'Drucken mit Vorschau
Application.ActivePrinter = "\\dataserv\HP LaserJet 5L AV auf Ne05:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True, Collate:= _
True
Hier wird der Standard-Drucker an...

Hallo,
Ich brauche dringend Eure Hilfe. Unter https://www.herber.de/bbs/user/54533.xls findet Ihr eine Mappe, in welcher in Spalte A
1 für "Kaufen"
0 für " "
-1 für "Verkaufen"
steht. IN SPALTE B SIND BISHER NUR MANUELL ERSTELLTE BEISPIELEINTRÄGE ENTHALTEN, DAMIT ERSICHTLIC...
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige