leere zelle fuellen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: leere zelle fuellen
von: th.heinrich
Geschrieben am: 10.12.2003 18:10:20

bestes Forum,

es werden DATENSÄTZE ausgelesen. die DATENSÄTZE werden in der zieldatei untereinander gelistet.

prob ist nun, wenn in der zieldatei die unterste ZEILE in SPALTE A leer ist, dann wird der DATENSATZ ueberschrieben.

dies will ich verhindern indem ich in die leere zelle eine 0 schreiben lasse.


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim leer
Set leer = Range("a1")
If IsEmpty(leer) Then
leer.Value = 0
End If
End Sub


funzzt fuer A1, aber wie ist es moeglich dies in der aktuellen ZEILE der SPALTE A (zieldatei) zu erreichen ?
Bild


Betrifft: AW: leere zelle fuellen
von: Boris
Geschrieben am: 10.12.2003 18:27:04

Hi Thomas,

sorry - aber ich versteh´s nicht.
Wie werden denn deine Datensätze ausgelesen? Wo ist der Code dazu?
Und was ist schlimm daran, wenn die Zelle leer ist? Dann darf sie doch normalerweise beschrieben werden...?

Grüße Boris


Bild


Betrifft: AW: leere zelle fuellen
von: th.heinrich
Geschrieben am: 10.12.2003 19:04:08

hallo Boris,

zuerst XXL dank fuer Deine bisherige hilfe.

mein prob liegt aber hier begraben.

https://www.herber.de/forum/archiv/348to352/t349193.htm

es soll eben NICHT der DATENSATZ ueberschrieben werden, wenn in der untersten ZEILE SPALTE A leer ist.

gruss thomas


Bild


Betrifft: AW: leere zelle fuellen
von: Lutz
Geschrieben am: 10.12.2003 18:27:14

Hallo,

ich würde nicht extra versuchen, die Zelle zu füllen. Finde statt dessen die letzte nichtleere Zelle, so dass Du Deine Daten ab der nächsten Zeile einfügen kannst.
Nutze dazu folgenden Code, den Du in ein Standardmodul schreibst:



Sub Letzte()
Dim LZeile%
LZeile = RealLastCell(ActiveSheet).Row
LSpalte = RealLastCell(ActiveSheet).Column
y = LZeile + 1
MsgBox "Erste freie Zeile:  " & y
End Sub

'Funktion von John Walkenbach
Function RealLastCell(TheSheet As Worksheet) As Range
   Dim ExcelLastCell As Range
   Dim Row%, Col%, LastRowWithData%, LastColWithData%
   Application.ScreenUpdating = False
   Set ExcelLastCell = TheSheet.Cells.SpecialCells(xlLastCell)
   LastRowWithData = ExcelLastCell.Row
   Row = ExcelLastCell.Row
   Do While Application.CountA(TheSheet.Rows(Row)) = 0 And Row <> 1
      Row = Row - 1
   Loop
   LastRowWithData = Row
   LastColWithData = ExcelLastCell.Column
   Col = ExcelLastCell.Column
   Do While Application.CountA(TheSheet.Columns(Col)) = 0 And Col <> 1
      Col = Col - 1
   Loop
   LastColWithData = Col
   Set RealLastCell = TheSheet.Cells(Row, Col)
End Function

     Code eingefügt mit Syntaxhighlighter 2.1


Gruß Lutz

Das Forum lebt auch von den Rückmeldungen !


Bild


Betrifft: AW: leere zelle fuellen
von: th.heinrich
Geschrieben am: 10.12.2003 18:49:49

hallo Lutz,

ausgangspunkt des aktuellen threads war dieser

https://www.herber.de/forum/archiv/348to352/t349193.htm

habe dran gebastelt und deswegen die neue fragestellung, dass SPALTE A der ZIELTABELLE nicht LEER sein darf.

gruss thomas

ps. kann Deinen vorschlag erst morgen in der arbeit testen.


Bild

Beiträge aus den Excel-Beispielen zum Thema " Dateien über VB per e-mail verschicken"