Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

nächste zeile bzw. spalte ansprechen

nächste zeile bzw. spalte ansprechen
21.03.2008 16:27:03
Arno
ich benutze zum ermitteln der nächsten leere zeile:
For Each Cell In Range("B5:B7")
If ActiveCell >= "0" Then
ActiveCell(Selection.Rows.Count + 1, 1).Select
End If
Next
bei b8 fügt er nichts mehr ein weil der bereich dann ja beendet ist,
nun soll er wenn b7 ereicht ist das dann z.b. bei c5 weitergeht bis c7 dann z.b. e5 usw.
Wäre schön wenn mir jemand helfen könnte und allen schöne Oster.

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

Betreff
Datum
Anwender
Anzeige
AW: nächste zeile bzw. spalte ansprechen
21.03.2008 17:08:51
Daniel
Hi
wenn du alle leeren Zellen selektiern willst dann geht das auch so:

range("B5:C7,E5:E7").specialcells(xlCellTypeBlanks)(1).select


die erste leere Zelle in dem Bereich bekommst du mit


range("B5:C7,E5:E7").specialcells(xlCellTypeBlanks)(1).select


bzw wenn du mit allen leeren Zellen was vorhast dann auch so


for each Zelle in range("B5:C7,E5:E7").specialcells(xlCellTypeBlanks)
Zelle..... = ....
Next


unterbrochene Zellbereiche kannst du wie dargestellt eingeben (hier die Zeilen 5-7 der Spalten B,C und E ohne D)
aber auchtung, gibts keine Leeren Zellen, dann bricht das Makro mit Fehler ab.
Gruß, Daniel

Anzeige
AW: nächste zeile bzw. spalte ansprechen
21.03.2008 17:30:26
Arno
bin mir nicht sicher ob das so geht.
ich kopiere über eine schaltfläche von einer tabelle in die nächste.also h8 nach b5 nächsten tag h8 nach b6 nächsten tag h8 nach b7. wenn nun b7 belegt ist soll er den nächsten eintrag bei c5 machen das bis c7 wenn c7 geschrieben ist dann nach e5.
das ist ein tagesbericht und wird in einen monatsbericht eingetragen.
hoffe das es etwas klarer ist was ich meine :-)

AW: nächste zeile bzw. spalte ansprechen
21.03.2008 17:34:45
Daniel
Hi
etwas nebulös was du da schreibst
aber mit der 2. funktion sollte es doch funktionieren.
wenn die erste freie Zelle beschrieben wurde, ist sie ja nicht mehr frei und beim nächsten durchlauf ist dann die nächste freie Zelle dran.
aber lad doch mal ein beispiel hoch, damit es klarer wird, was du willst und man auch mal was ausprobieen kann.
gruß, Daniel

Anzeige
AW: nächste zeile bzw. spalte ansprechen
21.03.2008 18:58:29
fcs
Hallo Arno,
ich hab auch noch ein wenig probiert. Mit den SpecialCells gibt es bei mir unter Excel97 auch Probleme. Wenn alle 3 Zeilen einer Spalte gefüllt sind kommt eine Fehlermeldung, weil keine Leeren Zellen mehr vorhanden sind. Excel erfasst scheinbar nur die leeren Zellen, die innerhalb des UsedRange liegen, selbst dann wenn man einen größeren Bereich vorgibt. Die leeren Zellen werden auch zeilen- und nicht spaltenweise aufgefüllt.
Folgende Variante sollte es tun und zwar ohne Select und Selection. Tabellennamen muss du ggf. anpassen.
Gruß
Franz

Sub aaa1()
Dim Zeile As Long, Spalte As Long
Dim wsTag As Worksheet, wsMonat As Worksheet, Ziel As Range
Set wsTag = Worksheets("Tagesbericht")
Set wsMonat = Worksheets("Monatsbericht")
'Nächste freie Zelle im Bereich B5:IV7 suchen
With wsMonat
For Spalte = 2 To .Columns.Count
For Zeile = 5 To 7
If IsEmpty(.Cells(Zeile, Spalte)) Then GoTo weiter
Next
Next
weiter:
Set Ziel = .Cells(Zeile, Spalte)
End With
'Wert von Tages- in Monatsbeicht kopieren oder übertragen
wsTag.Range("H8").Copy Destination:=Ziel
Application.CutCopyMode = False
'oder
Ziel.Value = wsTag.Range("H8").Value
End Sub


Anzeige
AW: nächste zeile bzw. spalte ansprechen
21.03.2008 18:09:35
Schallbach
Hallo
Würde es mit If probieren ungefähr so:

Sub Einfügen()
For Each Cell In Range("B5:B7")
If ActiveCell >= "0" Then
ActiveCell(Selection.Rows.Count + 1, 1).Select
End If
Next
If Range("B7") > 0 Then
For Each Cell In Range("C5:C7")
If ActiveCell >= "0" Then
ActiveCell(Selection.Rows.Count + 1, 1).Select
End If
Next
If Range("C7") > 0 Then
For Each Cell In Range("D5:D7")
If ActiveCell >= "0" Then
ActiveCell(Selection.Rows.Count + 1, 1).Select
End If
Next
'u.s.w.
End Sub


Gruss
Schallbach

AW: nächste zeile bzw. spalte ansprechen
21.03.2008 22:40:35
Beate
Hallo,
gerade lief woanders ein ähnlicher Thread, daher ist der Code nicht von mir, der Link steht im Code:
Sub Uwe()
    'http://www.online-excel.de/fom/fo_read.php?f=1&bzh=26918&h=26914&ao=1#a123x
    Dim rngB As Range, rngL As Range
    Set rngB = Range("B5:IV7")
    On Error Resume Next
    Set rngL = rngB.Find(What:="", After:=rngB.Cells(rngB.Cells.Count), LookIn:=xlValues, LookAt:= _
        xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
    If Not rngL Is Nothing Then ActiveSheet.Paste rngL
End Sub


Gruß,
Beate
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige