Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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

Tabellenblatt-Codename

Tabellenblatt-Codename
02.04.2020 12:54:02
Fredo
https://www.herber.de/bbs/user/136344.xlsm
Hallo Forum
ich habe versucht nach einer Vorlage diese Abrechnung zu erstellen. Ich habe aber im Gegensatz zum Muster nicht die sheetNamen benutzt, sondern weil es für mich als Lernender einfacher ist mit sprechenden Namen zu arbeiten, die Sheets mit Namen versehen.
Jetzt tut sich nichts mehr.
Kann einer der Erfahrenen Forumsmitglieder mal über die Module schauen
Ich bedanke mich jetzt schon mal
Der Fredo

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt-Codename
02.04.2020 13:08:34
Hajo_Zi
Hallo Fredo,
was tut sich nicht mehr?
Es sind keine Änderung notwendig, da in Modulen nicht mit Worksheets gearbeitet wir.

AW: Tabellenblatt-Codename
02.04.2020 13:50:19
Fredo
Userbild
Hallo HaJo,
bei klick auf das Pluszeichen, sollte eigentlich Zahlungen bzw. Rechnungen des jeweiligen Patienten angezeigt werden. Siehe Grafik.
Was funktioniert nicht, wenn der Code korrekt ist?
der Fredo
AW: Tabellenblatt-Codename
02.04.2020 14:17:39
Firmus
Hi Fredo,
du musst in deinem Code auch die Spalten anpassen.
"+" hast du in Spalte "H" gesetzt, im Code wird aber Spalte "G" abgefragt.
Gleiches gilt für "ausblenden Spalte". Bei dir in Spalte "O", im Code wird Spalte "M" abgefragt.
Bei "Basiskenntnisse in VBA"
Der Code, der das Ein-/Ausblenden steuert, ist im Datenblatt "PatAbrechnung".
Erreichbar über Doppelklick auf den Blattnamen im VBA-Editor.
Viel Erfolg,
Firmus
Anzeige
AW: Tabellenblatt-Codename
02.04.2020 14:19:53
Hajo_Zi
Hallo Fredo,
das X ist nich in Spalte G
If Not Intersect(Target, Range("G5:G100")) Is Nothing Then
Gruß Hajo
AW: Tabellenblatt-Codename
02.04.2020 14:11:05
Charly
Hi Fredo
Ich bin kein Profi und habe deinen Code nicht analysiert.
Hab nur mal kurz drueber geschaut.
Was mir augefallen ist ...
Ich denke du meinst mit Codename den Objektnamen der Tabelle
Objektname von PatAbrechnung ist Abrechnung
Objektname von Daten ist Daten
Objektname von PatRechnungen ist Sheet2
usw.
Da hast du einiges zu ueberarbeiten.
Tippfehler:
CopyToRange:=SPatZahlungen.Range
SPatZahlungen gibt es nicht
Eirueckungen machen den Code besser lesbar.
Gruss Charly
Anzeige
AW: Tabellenblatt-Codename
02.04.2020 14:41:12
Fredo
Hallo Firmus, hallo HaJo, hallo Charly CNX,
vielen Dank für eure Unterstützung.
Ich bin Anfänger und lerne noch (hoffentlich). Dies hier sind meine ersten Schritte, deshalb seid bitte nicht so streng mit mir. Ich werde den Code überarbeiten und melde mich dann noch mal.
Der Fredo
AW: Tabellenblatt-Codename
02.04.2020 17:03:31
Fredo
https://www.herber.de/bbs/user/136351.xlsm
Hallo Firmus, hallo HaJo, hallo Charly CNX,
kann ich noch mal eure Hilfe in Anspruch nehmen.
Ich habe jetzt den Code nach meinem besten Wissen überarbeitet.
Ich bekomme aber einen Fehler beim kompilieren: Variable nicht definiert.
Der Code hält bei With PatAbrechnung.
Ich komme mit meinem Wissen nicht mehr weiter Hilfe!!!!!!
Danke schon mal
Der Fredo
Anzeige
AW: Tabellenblatt-Codename
02.04.2020 20:12:33
Firmus
Hi Fredo,
habe kurz mal drüber geschaut.
Dein Makro RechnungenZeigen spricht das Blatt PatAbrechnung an.
Allerdings spricht du das formal falsch an. Siehe diesen Codeschnipsel.
Es muss with sheeets("....."). lauten.
Bitte dein komplettes Coding diesbzgl. durchsehen.

Sub RechnungenZeigen()
With Sheets("PatAbrechnung")
AktZeile = ActiveCell.Row
PatNum = .Range("E" & AktZeile).Value 'holt Patienten #
LRZeile = Sheets("PatRechnungen").Range("E99999").End(xlUp).Row 'holt letzte Zeile der  _
Rechnung #
Sheets("PatZahlungen").Range("AB2,AB4:AI99999").ClearContents 'löscht alle vorhandenen  _
Daten im Bereich
Sheets("PatZahlungen").Range("AB2").Value = PatNum
Sheets("PatZahlungen").Range("E3:L" & LRZeile).AdvancedFilter Action:=xlFilterCopy,  _
CriteriaRange:=Sheets("PatZahlungen").Range("AB1:A22"), CopyToRange:=Sheets("PatZahlungen").Range("AB3:AI3"), Unique:=True
LFZeile = Sheets("PatZahlungen").Range("AB9999").End(xlUp).Row  'Letzte Filterzeile
If LFZeile 
Zusätzlich scheint hier ein Tippfehler zu sein: PatZRechungen, eventuell muss das "Z" raus.
Lass wissen ob es klappt.
Gruß
Firmus
Anzeige
AW: Tabellenblatt-Codename
02.04.2020 20:53:51
Fredo
Hallo Firmus,
vielen Dank für deine Hinweise,
nach der Änderung bekomme ich jetzt einen Syntyxfehler:
Sub RechnungenZeigen()
With Sheets("PatAbrechnung")
AktZeile = ActiveCell.Row
PatNum = .Range("E" & AktZeile).Value 'holt Patienten #
LRZeile = Sheets("PatAbrechnung").Range("E99999").End(xlUp).Row 'holt letzte Zeile der  _
Rechnung #
Sheets("PatZahlungen").Range("AB2,AB4:AI99999").ClearContents 'löscht alle vorhandenen  _
Daten im Bereich
Sheets("PatZahlungen").Range("AB2").Value = PatNum
'Sheets("PatZahlungen").Range("E3:K & LRZeile).AdvancedFilter Action:=xlFilterCopy,  _
CriteriaRange:=Sheets("PatRechnungen").Range("AB1:AH2"), CopyToRange:=Sheets("PatRechnungen").Range("AB3:AI3"), Unique:=True
LFZeile = Sheets("PatRechnungen").Range("AB9999").End(xlUp).Row  'Letzte Filterzeile
If LFZeile 
Was ist falsch. Ich sehe vor lauter Wald die Bäume nicht mehr.
Danke schon mal
Der Fredo
Anzeige
AW: Tabellenblatt-Codename
02.04.2020 22:33:34
Firmus
Hi Fredo,
lade doch mal dein aktuelles xlsm hoch, damit ich den Syntaxfehler nachvollziehen kann.
Ich hatte nicht den kompletten Durchlauf getestet, so dass durchaus noch ein formaler Fehler
enthalten sein kann.
Werde ich mir morgen ansehen. Ich hoffe es bleibt mir ausreichend Zeit (Gartenarbeit!), dann teste ich komplett durch.
Gibt doch in deiner Fehlerroutine den Fehlercode mit aus, Variable ist Err.Number.
Gruß,
Firmus
AW: Tabellenblatt-Codename
02.04.2020 23:10:58
Fredo
https://www.herber.de/bbs/user/136367.xlsm
Hallo Firmus,
danke und anbei die Mappe.
Apropos Gartenarbeit.
Warum soll es dir besser gehen als mir. Ich verfluche den Tag, an dem ich gesagt habe: "Das mache ich mal, wenn ich Zeit habe."
Also viel Spaß im Garten.
der Fredo
Anzeige
AW: Tabellenblatt-Codename
03.04.2020 13:00:31
Firmus
Hi Fredo,
ist PatRechungen identisch PatRechNungen?
Tippfehler in Makro modRechnung korrigieren, dann dann läuft es durch.
Siehe diese Zeile:

.Range("H" & AktZeile + 2 & ":N" & AktZeile + 1 + RAnzahl).Value = Sheets("PatRechungen"). _
Range("AE4:AI" & LFZeile).Value 'fügt die Rechnungen ein
Damit sind aber noch nicht alle Fehler raus.
Die Rechnungen werden übertragen, sind aber in den falschen Spalten - habe hier nichts angepasst.
Die reinkopierten Daten müssen, m. E., um eine Spalte weiter nach rechts.
Zusätzlich ist mir aufgefallen:
Beim falschen Dateneintrag (wie in meinem Test) wird in Spalte "O" ein Fehler anzeigt: #NV
Wenn du dann nochmals auf "+" klickst (Rechnungen anzeigen) und in Spalte O steht #NV,
dann läuft VBA auf Laufzeitfehler 13 (Typen unverträglich), siehe Zeile unten:

If Target.Value = "+" And Range("O" & Target.Row).Value = "P" Then
Ursache: #NV (Fehlercode 2042) bedeutet Fehler in der Zelle und damit kann Target.Row offensichtlich nichts anfangen.
Also,
Tippfehler und Ausgabepositionsfehler korrigieren und testen.
Lass wissen ob es klappt,
Firmus
Anzeige
AW: Tabellenblatt-Codename
03.04.2020 21:59:02
Fredo
https://www.herber.de/bbs/user/136394.xlsm
Hallo Firmus,
Sorry, für die späte Meldung, aber ich hatte heute Familientag. Ich hoffe du hattest einen schönen Tag im Garten.
ich denke ich bin dem Fehler auf der Spur. Ich gehe davon aus, dass das Problem die unterschiedliche Größe der Bereiche ist. Die gefilterten Daten werden eingefügt und zwar genau so, wie sie gefiltert werden, zumindest bei den Rechnungen.
Da aber der gefilterte Bereich, vor allen die Kennzahlen, in einen Bereich kopiert werden, der viel breiter ist, werden die Daten nie an die richtige Position gelangen. Das führt dazu, dass zum einen die Kennzahlen nicht für die bedingte Formatierung wirken und die Formatierung auch hinfällig ist. Deshalb habe ich nach den Rechnungsdaten nicht mehr weiter geändert.
Wie kann man den Datenbereich der eingefügt werden soll denn aufsplitten? Geht das überhaupt?
Dies übersteigt meine Kenntnisse bei weitem. Kannst du helfen? Kannst du mir vielleicht ein Muster vorgeben?
Ich wäre dir sehr dankbar. Die neue Version hängt an.
Vielen Dank schon mal im voraus.
der Fredo
Anzeige
AW: Tabellenblatt-Codename
03.04.2020 23:47:09
Fredo
https://www.herber.de/bbs/user/136395.xlsm
Hallo Firmus,
ich hatte wohl die falsche Datei angehängt.
Ich habe jetzt die Aufteilung der Spalten in zwei Schritten durchgeführt. Scheint zu klappen. Ich war schon in meine Gedanken bei komplizierten Aufteilungsalgorithmen. Aber es geht offensichtlich auch einfach. Ich melde mich morgen nachmittag nochmal um zu berichten.
Gute Nacht.
der Fredo
AW: Tabellenblatt-Codename
04.04.2020 19:28:05
Fredo
Hallo Firmus,
ich hoffe du hattest einen guten Tag.
Dank deiner Hilfe habe ich es geschafft, dass die Daten wie gewünscht angezeigt werden.
Allerdings ist z. Zt. noch irgendwo ein Fehler. Ich hoffe, dass es daran liegt, das die Testdaten willkürlich sind und nicht zugordnet werden können. Die Testdaten hatte ich per Copy/Paste eingefügt und das rächt sich jetzt.
Ich denke ich werde mich morgen nochmal melden.
Vielen Dank auf jeden Fall für deine tatkräftige Unterstützung und dem Hinleiten zu den Fehlern. Bleib gesund und bis morgen.
der Fredo
Anzeige
AW: Tabellenblatt-Codename
04.04.2020 22:23:10
Firmus
Hi Fredo,
prima, dass du weitergekommen bist.
Falls noch Probleme bestehen, einfach aktuelle xlsm hochladen und Problem erklären, und ggfls.
Statement das Probleme macht benennen.
Gruß,
Firmus
AW: Tabellenblatt-Codename
05.04.2020 14:31:17
Firmus
Hi Fredo,
schon mal ein Hinweis:

Sub RechnungenZeigen()
With Sheets("PatAbrechnung")
AktZeile = ActiveCell.Row
PatNum = .Range("E" & AktZeile).Value 'holt Patienten #
LRZeile = Sheets("PatAbrechnung").Range("E99999").End(xlUp).Row 'holt letzte Zeile  _
der Rechnung #
ActiveSheet.Range("AB2,AB4:AI99999").Select 'löscht alle vorhandenen Daten im Bereich
die LRZeile soll sicher von PatRechnung und nicht von PatAbrechnung geholt werden
Gruß
Firmus
AW: Tabellenblatt-Codename
05.04.2020 18:19:36
Firmus
Hi Fredo,
das Wetter war ZU schön, habe mich deshalb aus dem Garten in das sonnendurchflutete Wohnzimmer zurückgezogen. Und habe noch ein bisschen getestet.
Schau dir das Ergebnis einfach an.
Wichtig: Bei der Filterung der Zahlungen war die Patnum nicht vorhanden, deshalb habe ich sie - zum späteren abgreifen - in die Spalte "E" dupliziert. Das geschieht beim Rechnungen einblenden.
Falls noch Fragen oder noch ein Problem existiert - einfach melden.
https://www.herber.de/bbs/user/136426.xlsm
Gruß
Firmus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige