Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Erste freie"Zelle | Herbers Excel-Forum


Betrifft: Erste freie"Zelle von: Peter
Geschrieben am: 22.02.2010 11:26:47

Hallo Freunde,
ich brauche wieder einmal eure Hilfe. Folgendes Problem:
Per VBA werden Daten, welche in einem anderen Tabellenblatt aus Formeln entstehen, in eine Spalte als Werte eingefügt.
ZB Daten in Tab1 A1:A50 entstehen aus Sverweisen (Werte "",0,oder größer).
Diese Werte werden in Tab2 in B1:B50 per VBA eingefügt
Nun suche ich mit Befehl Cells(Range("A1").End(xlDown).Row + 1, 1).Select die erste freie Zelle
und komme immer auf B51
Inzwischen habe ich aus vielen eurer Beiträge herausgefunden, dass ein 3-stelliger Rest in den Zellen bleibt. Wie kann ich aber diesen automatisch entfernen damit mir das Makro die wirkliche erste freie zelle gibt.

Vielen herzlichen Dank im voraus

Peter

  

Betrifft: Range("B1").End(xlDown).Offset(1) owT von: Rudi Maintaire
Geschrieben am: 22.02.2010 11:36:10




  

Betrifft: AW: Range("B1").End(xlDown).Offset(1) owT von: Peter
Geschrieben am: 22.02.2010 12:08:54

Hallo Rudi,
leider kein Erfolg, es wird immer wieder die Zelle nach den übertragenen Zellen ausgewählt, also B51

Beste Grüße
Peter


  

Betrifft: Suchst Du die 1. freie Zelle in Spalte A o. B? oT von: JoWE
Geschrieben am: 22.02.2010 11:36:43




  

Betrifft: AW: Suchst Du die 1. freie Zelle in Spalte A o. B? oT von: Peter
Geschrieben am: 22.02.2010 11:46:42

Hallo JoWE,



in Spalte A


  

Betrifft: AW: Suchst Du die 1. freie Zelle in Spalte A o. B? oT von: Peter
Geschrieben am: 22.02.2010 11:50:56

Hallo JoWE

war natürlich ein Blödsinn. Soll heißen in Spalte B !!!!!


  

Betrifft: 3-stelliger Rest ??? von: Renee
Geschrieben am: 22.02.2010 11:47:31

Wo hast du den das her, Peter ? Kannst du mal ein Beispiel liefern.

...oder nach dem Code 'Einfügen der Werte', dieser zusätzlicher Code macht 'leere' Zellen wirklich leer.

    Dim rngC As Range
    Dim lngFreeRow As Long
    With Worksheets(2).Range("A2:A50")
        For Each rngC In .Cells
           If rngC = "" Then rngC.ClearContents
        Next rngC
        lngFreeRow = .Cells(1, 1).End(xlDown).Row + 1
    End With
    MsgBox "Erste freie Zelle: A" & lngFreeRow

GreetZ Renée


  

Betrifft: Aha, Spalte B, dann... von: Renee
Geschrieben am: 22.02.2010 12:38:36

so, Peter

    Dim rngC As Range
    Dim lngFreeRow As Long
    With Worksheets(2).Range("B1:B50")
        For Each rngC In .Cells
           If rngC = "" Then rngC.ClearContents
        Next rngC
        lngFreeRow = .Cells(1, 2).End(xlDown).Row + 1
    End With
    MsgBox "Erste freie Zelle: B" & lngFreeRow


GreetZ Renée


  

Betrifft: AW: Aha, Spalte B, dann... von: Peter
Geschrieben am: 22.02.2010 13:19:11

Vielen herzlichen Dank Renée, es funktioniert fantastisch!!!!

Peter