Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Tabellen von Modul aufrufen

Forumthread: Tabellen von Modul aufrufen

Tabellen von Modul aufrufen
21.01.2025 15:57:20
Chatzebuseli
Hallo VBA Freunde

Ich hogg wieder mal etwas fest.

Nicht das erste mal an dieser Stelle... offenbar ist mir das noch nicht ganz klar!

Um was geht es im grossen ganzen:

Ich verwalte von einer Userform mehrere "Konten". Diese Konten sind Workbooks mit den darin enthaltenen Daten.
Innerhalb der Userform kann man die anwählen, verwalten, ändern u.s.w.

Die Pfads sind als Const im Head des codes gespeichert.
Option Explicit

Dim oBerechnungen As clsBerechnungen

Const conKontoKatze= ("C:\Users\Chatzebuseli\Documents\Haus\KontoChatzebuseli.xlsx")
Const conKontoHund = ("C:\Users\Chatzebuseli\Documents\Haus\KontoHundibello.xlsx")



die Konten werdn Ausgewählt

Select Case (strKonto) ' Hund oder Katze = Combobox2.value


Case ("Katze")

Set wbKonto = Workbooks.Open(conKontoKatze=)

intZ = 21


With wbKonto.Worksheets("Konto")
' und tut dann hald was, was er auch tut !


End With


Case ("Hund")

'selber scheiss..... geht auch!


End With

End Select



zusäzlich habe ich ein Modul, welches eine Constante enthält:

Public wbKonto As Workbook


So jetz habe ich mal erzählt was ich habe, nun kommt dass, was ich nicht habe:

An einem Punkt aber aktiviert die Userform eine vorgefertigte Tabelle(Tabelle4) in der Mappe in welchem der Code,für die Userform steht. In dieser Tabelle4 ist ein Button,
welcher wiederum ein Modul (Modul 2) aktiviert. Also code der nicht in der Userform hinterlegt ist.

Die Daten sollten vorrangig in die Userform eingelesen werden. Einzelne aber direkt in die Mappe Konto.
Und da kann ich nicht auf wbKonto.Worksheets ("Übersicht") zugreifen.



With wbKonto.Worksheets("Übersicht") ' Hier kommt im modul 2 Laufzeitfehler 91

Do While .Cells(intZ, 2) > Empty
strLesen = .Cells(intZ, 2).Value
If strWert = strLesen Then
bolWerdtDaP = True 'Schon Vorhanden
Exit Do
Else
intZ = intZ + 1

End If
Loop
End With



Laufzeitfehler 91..... aber warum? ich habe nie ...
set wbKonto = Nothing 

.. auf dem weg dahin.

Hab ich ein Brett vor dem Kopf, wer hat n Zollstock und ne Säge?

Wie greife ich auch von dem "Modul 2" auf das wbKonto zu bzw.auf die Tabelle1 ("Übersicht")?
Da bin ich nicht das erste mal kirre geworden wegen.

Danke für eure Hilfe

E liebs Griessli

Chatzebuseli
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen von Modul aufrufen
21.01.2025 16:30:47
GerdL
Hallo Chatzebuseli,

ich tippe, die Workbook-Variable wbKonto ist beim Aufrufen der Prozedur im Modul2
noch nicht mit der Set-Anweisung initialisiert worden.

Set wbKonto = ......

Gruß Gerd
AW: Tabellen von Modul aufrufen
21.01.2025 20:41:42
Chatzebuseli
Hallo Lieber Gerd

Ja auf die Idee bin ich auch schon gekommen..... und der PC meinte nur Plinggggg!

Ich weiss ich hatte schon mal ein ähnliches Problem, könnte es sein das ich zwar das Workbook selber anspreche, es aber an der verfluchten Tabelle liegt, die zicken oft mit dem Ansprechen ihrer Namensgebung, geraden innerhalb des With, rum.
Da hab ich auch schon rumprobiert.


Hey erst mal danke für deine Mühe. Auch wenn es jezt nicht der Durchbruch war.
Du warst schon einige male eine wirklich grosse Hilfe.

E liebs Griessli
Chatzebuseli
Anzeige
AW: Tabellen von Modul aufrufen
21.01.2025 17:25:08
Piet
Hallo

höfliche Frage, warum für Hunde, Katzen eigene Konten? - Das passt alles auf ein Blatt, oder zwei Blätter.

mfg Piet
AW: Tabellen von Modul aufrufen
21.01.2025 22:07:39
Chatzebuseli
Ok..... Ich habe es....

Der Code ist grundsätzlich Richtig.

Es lag am gesamten Zusammenspiel!

letztendlich aber ....Läuft!


Danke trotzdem für eure Hilfe!

E liebs Griessli
Chatzebuseli

Anzeige
AW: Tabellen von Modul aufrufen
21.01.2025 20:31:57
Chatzebuseli
Lieber Piet

Das ganze Projekt ist etwas Umfangreicher. Das ich auf externe Ordner zugreife, hat einen ganz einfachen Grund.
Ich schreibe gerade eine Prozedur, die hald verschiedenen Konten verarbeitet. Die Konten sind die Datensätze. Das Workbook mit den Forms quasi nur die "Systemsteuerung".
Was es sehr einfach macht komplette riesige Datensätze hinzuzufühgen und mit zu verarbeiten. Man holt sich immer nur gerade das was man in dem moment braucht.
Auch wenn in einem Jahr ein Komplett neues Workbook dazukomm, Pfad kopieren, const definiern, in Liste aufnehmen, Select Case erweitern, Fertig!

Nun ja..... wenn's denn funktioniert!


Die Erfahrung hat mir gezeigt, das es weniger Konfliktpotenzial bietet, wenn die Nutzer ihre Daten nicht im Worksheets der VBA "manipulieren". Ich versuche Grundsätzlich das Workbook mit der laufenden VBA immer .xlMinimalized zu lassen und sie nur mit der Userform zu arbeiten. Da kann ich Eingabe Fehler von vornherein abfangen.

Und hey! Mein Hund muss seit er mir sein Kontoauszug gezeigt, hat sein Futter selber kaufen!

E liebs Griessli

Chatzebuseli
Anzeige

Forumthreads zu verwandten Themen

Anzeige