Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

1. freie Zelle ermitteln

1. freie Zelle ermitteln
25.01.2008 21:04:00
Dirk
Hallo an alle netten Helfer/-innen,
über eine UF wechsle ich zu einem anderen Blatt (hier zum Blatt 'Einnahmen'):

Private Sub CommandButton1_Click()
Sheets("Einnahmen").Activate
Unload Me
End Sub


Nun würde ich diesen Code gern mit folgenden Features erweitern:
1. Suche im Blatt 'Einnahmen' die erste leere Zelle in dem Bereich A16 bis A33.
2. Markiere dann die entsprechenden Zellen von A bis D.

Ziel ist es dann, in diesen Bereich Werte aus dem Ursprungsbaltt mittels separatem Button einzufügen (NUR die Werte). Auch hier bin ich noch am Basteln... Diese Werte stammen aus nicht zusammenhängenden Zellen u. befinden sich in der Zwischenablage.
Hat jemand eine Idee, wie das zu bewerkstelligen ist - ich stehe total auf der Leitung u. habe auch im Archiv nix passendes gefunden ?
MfG Dirk N.

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

Betreff
Datum
Anwender
Anzeige
AW: 1. freie Zelle ermitteln
25.01.2008 21:29:36
Daniel
HI
du könntest diesen Code verwenden (nach Sheets(...).activate einfügen)

Range("A16").Resize(1, 4).Select
If Selection(1).Value  "" Then Selection.End(xlDown).Offset(1, 0).Resize(1, 4).Select
If Selection.Row > 33 Then MsgBox ("Achtung, keine freie Zelle im Bereich A16:A33 vorhanden")


Oder das hier an gleicher Stelle:


Range("A16:A33").specialcells(xlcelltypeblanks)(1).resize(1,4).select


ich finds sehr elegant, funktioniert aber nicht in allen Fällen fehlerfrei
Fehler gibts, wenn
- keine Zelle im bereich frei ist
- wenn die erste freie Zelle nicht mehr zur Usedrange gehört (dh. es muss mindestens eine beschriebe Zelle geben deren Zeilen-NR grösser ist als die der ersten freien Zelle in A16:A33)
Gruß, Daniel

Anzeige
AW: 1. freie Zelle ermitteln
25.01.2008 22:01:14
Dirk
Hallo Daniel (Namensvetter meines Sohnes ;-) ),
dein 1. Vorschlag funzt nicht so recht, aber dafür tut's zunächst der 2. VIELEN DANK !!!
Hast du evtl. noch eine Idee, wie man diese Fehler abfangen kann ?
Auch bin ich bisher nicht weitergekommen bei dem sekundären Problem:
Code für einen CommandButton
Ziel ist es dann, in diesen Bereich Werte aus dem Ursprungsbaltt mittels separatem Button einzufügen (NUR die Werte). Auch hier bin ich noch am Basteln... Diese Werte stammen aus nicht zusammenhängenden Zellen u. befinden sich in der Zwischenablage.
Wenn du noch Lust hast u. ich deine Nerven nicht allzu sehr beanspruche, dann würde ich mich über deine Hilfe sehr freuen !
MfG Dirk N.

Anzeige
AW: 1. freie Zelle ermitteln
25.01.2008 22:23:00
Daniel
Hi
zu deiner ersten Frage:
da ich weder weiß, welchen Fehler du an welcher Stelle im Code bekommst, noch wie du meinen Code bei dir im Makro integriert hast, noch wie deine Exceldatei dazu aussieht,
kann ich dir leider auch nicht sagen, warum du einen Fehler bekommst.
ich habe den Code getestet und bei mir funktioniert er einwandfrei. Ich hab zwar ne andere Excelversion (2002), aber ich denke nicht,daß das in diesem Fall die Ursache ist.
zur 2. Frage
wenn man nur Werte einfügen will, geht das über

Range(Quellbereich).COPY
Range(Zielbereich).PASTESPECIAL xlPasteValues


beim zielbereich reicht es normalerweise aus, nur die erste Zelle anzugeben, die weiteren Zelllen werden dann automatisch passend zu den kopierten Daten berechnet.
Gruß, Daniel

Anzeige
AW: 1. freie Zelle ermitteln
25.01.2008 23:13:00
Dirk
Hi Daniel,
da habe ich mich wohl nicht richtig ausgedrückt:
Dein 2. Vorschlag funktioniert einwandfrei !!!
Bezogen auf "Fehler abfangen" meinte ich deinen 1. Vorschlag, denn dort erscheint ja dann ggf. die besagte MsgBox:

Range("A16").Resize(1, 4).Select
If Selection(1).Value  "" Then Selection.End(xlDown).Offset(1, 0).Resize(1, 4).Select
If Selection.Row > 33 Then MsgBox ("Achtung, keine freie Zelle im Bereich A16:A33 vorhanden")


Diese Idee ist sehr gut, allerdings erscheint diese MsgBox bei mir IMMER, obwohl die Zellen leer sind... :-(
Doch wie gesagt, dein 2. Tipp hat mir sehr geholfen u. ist eigentlich ausreichend...
Mit deinem letzten Rat:


Range(Quellbereich).COPY
Range(Zielbereich).PASTESPECIAL xlPasteValues


komme ich nicht klar.
Das Problem ist, der Zielbereich wird doch erst durch die Markierung aus deinem vorherigen Makro gesetzt - ändert sich also ständig...
MfG Dirk N.

Anzeige
AW: 1. freie Zelle ermitteln
25.01.2008 23:34:59
Herbert
Hi,
Selection.COPY
mfg Herbert

AW: 1. freie Zelle ermitteln
25.01.2008 22:21:10
Dirk
Hallo nochmal,
zum besseren Verständnis:
Ich möchte mir den "Umweg" über das Menü: Bearbeiten / Inhalte einfügen / Werte ersparen u. suche daher nach einem Code für einen CB, der mir das ermöglicht...
MfG Dirk N.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige