Office: (Office 2013) VBA

Helfe beim Thema VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Eine Frage habe ich hier noch. Ich möchte, dass der ganze Mechanismus nur läuft, wenn ein bestimmter Wert existiert. Diesen Wert frage ich in der... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von JFish86, 24. Januar 2015.

  1. VBA


    Eine Frage habe ich hier noch. Ich möchte, dass der ganze Mechanismus nur läuft, wenn ein bestimmter Wert existiert. Diesen Wert frage ich in der Eingabemaske ab - falls das Feld dort leer gelassen wird, dann soll dieser ganze Schreibmechanismus nicht durchgeführt werden. Ich habe es folgendermaßen mit -- If Not WERT Is Nothing Then. Aber damit funktioniert es leider nicht; er schreibt die Zahlen trotzdem ein im Tabellenblatt. Wie könnte ich das einbauen?

    Code:
     
    JFish86, 29. Januar 2015
    #16
  2. Beverly
    Beverly Erfahrener User
    Hi,

    Aber genau das macht der Code doch - er ermittelt immer die 1. Zelle ab Spalte O in der gefundenen Zeile, die tatsächlich leer ist, also auch keine Formel enthält. Beispiel: Zellen O6:Q6 sind bereits mit Werten gefüllt - beim nächsten Durchlauf findet der Code Zelle R6 und trägt dort ein, das ist korrekt. S6 hat eine Formel - der Code findet deshalb im darauffolgenden Durchlauf T6, die keine Formel enthält und noch keinen Eintrag hat, trägt also in die nächste Spalte rechts von der Zelle mit Formel ein. Im Bereich T6:AA6 ist es genau so - dort werden Werte in T6:Z6 eingtragen, dann wird Zelle AA6 mit Formel ausgelassen und die nächsten Einträge beginnen in Zelle AB6.
    Ich verstehe also nicht, was der Code nicht entsprechend deiner Vorgabe macht, immer nur die Zellen auszufüllen, die leer sind.


    VBA grusz.gif
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Beverly, 29. Januar 2015
    #17
  3. Ich hatte den Code am Anfang getestet und immer einen einzigen Eintrag pro Durchlauf in die gefundene Zelle geschrieben. Er hat pro Durchlauf in die erste freie Zelle einen Wert geschrieben. Beim nächsten Durchlauf dann in die Zelle rechts davon. Falls diese Zelle "rechts davon" allerdings eine Formel hatte, hat der Code gar nichts ausgeführt - also nicht in die nächste Zelle rechts von der Formel gesprungen und dort den Eintrag gemacht. Das meinte ich.

    Wie du aber oben siehst in dem kopierten Code, schreibe ich immer "um die Formel herum". Die befindet sich in der vierten Zelle rechts von der gefundenen. Und .Range(strZelle).Offset(0, 4) lasse ich ja aus.

    Daher ist der Code so wie er ist ganz wunderbar für mich.


    Weißt du vielleicht noch, wie ich die WENN-Kondition noch reinbringen kann (siehe oben)?
     
    JFish86, 29. Januar 2015
    #18
  4. Beverly
    Beverly Erfahrener User

    VBA

    Hi,

    Dann hast du nicht meinen Code aus meinem Beitrag vom 28.01.2015 19:26 getestet, denn der macht so etwas nicht sondern das, was ich in meinem letzten Beitrag ganz konkret beschrieben habe und deine Anforderungen entsprechend deiner hochgeladenen Arbeitsmappe ausführt!


    Was deine andere Frage betrifft:

    Code:
    VBA grusz.gif
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    Beverly, 29. Januar 2015
    #19
  5. Das mit den IF funktioniert. Danke!!

    Vielleicht vertue ich mich bei dem anderen Thema auch. Kann gut sein, dass ich da was übersehen hatte. Wie es jetzt ist, funktioniert es jedenfalls *Smilie
     
    JFish86, 29. Januar 2015
    #20
  6. Wie könnte ich denn vorher noch prüfen, ob in der gefundenen Zeile von rngZelle bis zur "letzten" Spalte alle Zellen belegt sind?

    Im Moment sieht der Code so aus:
    Code:
    Was ich also genau prüfen möchte, ist, ob in der Zeile, in der rngZelle liegt, die letzte besetzte Zelle in der gleichen Spalte liegt wie die letzte besetzte Zelle in Zeile 5.

    Ich würde das für die einzelnen Sheets dann jeweils separate vorher prüfen und - sollte die Prüfung positive ausfallen - die Sub verlassen, damit nicht "zu weit" geschrieben wird.

    Vielen lieben Dank für die Hilfe.
     
    JFish86, 5. Februar 2015
    #21
  7. Beverly
    Beverly Erfahrener User
    Meinst du ob alle Zellen belegt sind und keine freie mehr vorhanden ist? Das hatte ich im Code aus meinem Beitrag von 28.01.2015, 19:26 bereits eingebaut:


    Code:
    VBA grusz.gif
     
    Beverly, 5. Februar 2015
    #22
  8. VBA

    Genau die gleiche Funktion.

    Allerdings macht der den Schreibvorgang (der ganze obere Code) für mehrere Tabellenblätter. Und ich will vorher prüfen lassen, ob überall Platz ist. Sollte irgendwo kein Platz sein, dann soll er raus aus der Sub.
    Wenn diese Bedingung in den einzelnen Loops für die versch. Tabellenblätter enthalten ist, dann könnte es sein, dass er ins erste und zweite schreibt und erst beim dritten merkt, dass dort kein Platz mehr ist - sollte das aber der Fall sein, hätte er in gar kein Tabellenblatt schreiben sollen.

    Deswegen die Pfüfung vorher. Ginge das dann so (obwohl es komisch aussieht, weil das Ausführen der Commands nur im ELSE Teil steht):

    Code:
     
    JFish86, 6. Februar 2015
    #23
  9. Beverly
    Beverly Erfahrener User
    Also ich kann in deinem Code nicht erkennen, wo da mehrere Tabellenblätter prüft werden - alles bezieht sich auf Tabelle Worksheets("Growth 2013").


    VBA grusz.gif
     
    Beverly, 6. Februar 2015
    #24
  10. Das war nur ein Ausschnitt. Der ganze Code beschreibt dann noch Growth 2013 - Growth 2017 (also 5 Tabellenblätter). Da habe ich jeweils den Code kopiert und angepasst.

    Das ginge wahrscheinlich etwas eleganter, aber es erfüllt für mich ja seinen Zweck, daher bin ich zufrieden damit.

    Jetzt möchte ich eben noch oben beschriebene Prüfung einbauen, bevor er beginnt in den 5 Tabellenblättern zu schreiben.

    Ich hoffe, das ist verständlich ausgedrückt?
     
    JFish86, 6. Februar 2015
    #25
  11. Beverly
    Beverly Erfahrener User
    Code:
    VBA grusz.gif
     
    Beverly, 6. Februar 2015
    #26
  12. Ok, das probiere ich gleich aus. In der Excel Datei gibt es allerdings noch weitere Worksheets (anderes Format und Inhalt), für die das nicht geprüft warden soll. Müsste ich da die Ansprache in den Anfangszeilen ändern? Kann ich also irgendwie nur die 5 besagten Worksheets direkt ansprechen?

    Danke dir!
     
    JFish86, 6. Februar 2015
    #27
  13. Beverly
    Beverly Erfahrener User

    VBA

    Mit einer Select Case-Anweisung kann man sich auf die gewünschten Tabellen beschränken:

    Code:
    Es geht natürlich auch mit einer If-Anweisung verwenden, aber wenn es mehrere Vergleichswerte (Tabellennamen) sind, ist die Select Case-Anweisung übersichtlicher.


    VBA grusz.gif
     
    Beverly, 6. Februar 2015
    #28
Thema:

VBA

Die Seite wird geladen...
  1. VBA - Similar Threads - VBA

  2. VBA - Wert in einer Spalte finden und diese Zeile löschen

    in Microsoft Excel Hilfe
    VBA - Wert in einer Spalte finden und diese Zeile löschen: Moin moin ihr Lieben, ich habe nun schon im Netz nach einer Lösung gesucht, aber nichts passendes oder funktionstüchtiges gefunden. Ich habe eine Tabelle mit Spalten A - G. Nun soll Excel in der...
  3. Freigegebene Excel-Tabelle als Quelle für Seriendruck

    in Sonstiges
    Freigegebene Excel-Tabelle als Quelle für Seriendruck: Hallo, :) wir haben eine Excel-Tabelle, welche auf der Cloud liegt und bei Änderungen automatisch speichert. Es haben mehrere Personen Lese- und Schreibrechte und sobald jemand etwas abändert,...
  4. VBA: Kein "Undo" mehr möglich?

    in Microsoft Excel Hilfe
    VBA: Kein "Undo" mehr möglich?: Hallo, ich habe meine Bestell-Tabelle so abgeändert, dass einiges per Makro, bzw. mittels Buttons übertragen wird. Also zum Beispiel wird mit einem Klick auf den Button die Lieferadresse gleich...
  5. EINLADUNG Access-Stammtisch Hannover Nr. 63 LIVE am Mittwoch 19.11.2025

    in Microsoft Access Hilfe
    EINLADUNG Access-Stammtisch Hannover Nr. 63 LIVE am Mittwoch 19.11.2025: EINLADUNG zum Access-Stammtisch Hannover Nr. 63 LIVE Endlich ist es wieder soweit! Persönlicher Austausch bei Speis und Trank. Interessante Gespräche in netter Atmosphäre. Termin: Mittwoch,...
  6. VBA: Notizen in Zelle einfügen

    in Microsoft Excel Hilfe
    VBA: Notizen in Zelle einfügen: Hallo zusammen, ich möchte über cells(x,y).AddComment "Text" eine Notiz einfügen. Das funktioniert leider nur sehr unzuverlässig. Mal ist der Text in der Notiz, mal wird nur eine leere Notiz...
  7. ActiveX Steuerelemente nicht verfügbar im VBA Entwurfsmodus.

    in Microsoft Excel Hilfe
    ActiveX Steuerelemente nicht verfügbar im VBA Entwurfsmodus.: Guten Tag allerseits. Ich habe eine Excel-Anwendung (xlsm mit Macros), die auf einem Laptop Probleme macht. Auf allen anderen PC's läuft es perfekt, auf dem genannten Laptop scheitern Zugriffe auf...
  8. VBA: Datei Upload mit http: POST

    in Microsoft Excel Hilfe
    VBA: Datei Upload mit http: POST: Hallo, schönen Gruß an alle; ich hoffe jemand hat einen Hinweis wo ich ansetzen kann. Problembeschreibung: · VBA aus Excel (das muss auch so bleiben) und funktioniert anscheinend ja auch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden