Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1136to1140
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
Abfrage ob Zelle leer
Marcel
Hallo zusammen,
wir haben bei uns ein Excel Sheet in dem gewisse Eintragungen gemacht werden. Nun möchte ich immer die letzte befüllt Zelle auslese und in ein Worksheet schreiben. Dies mache ich mit folgenden Code:
Set ws1 = Worksheets("Formular")
Set G11 = ws1.Range("g11")
LetzteZeile = ws2.Cells(Rows.Count, 3).End(xlUp).Row
G11 = ActiveSheet.Range("C" & LetzteZeile)
Nun ist hier es hier ein Problem wenn zb. die Spalte C in der Zeile 23 beschrieben ist und in der Zeile 24 nicht, dann wir hier automatisch der Wert aus Zeile 23 genommen - die möchte ich aber verhindern.
Ich weiss aber nicht wie ich das mit dem Code schaffe, da ja Excel nicht weiss dass ich eigentlich den Wert aus Zeile 24 - also den Leerwert möchte...
Den Code hier habe ich ein vereinfacht dargestellt, es sind in wirklichkeit ca. 10 Spalten die in ein anderes Worksheet übernommen werden... und wenn eben 9 Spalten in der Zeile 24 einen Wert haben und nur die 10. nicht, dann möchte ich nicht, dass Excel den Wert aus Zeile 23 hernimmt...
Ich hoffe mein Problem verständlich erklärt zu haben, ansonsten bitte einfach nochmal fragen was unklar ist!
Besten Dank im Voraus!
Schöne Grüße
Marcel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Abfrage ob Zelle leer
08.02.2010 10:12:54
Marcel
Hallo,
was ich noch erwähnen wollte - es muss natürlich nicht unbedingt mit meinem Code funktionieren, also wenn jemand einen anderen Lösungsweg hat, dann würde ich das natürlich auch gerne annehmen. Es ist leider so, dass ich mit der Excel VBA Programmierung nicht wirklich viel Erfahrung habe und leider nicht wirklich weiss was hier alles so möglich ist...
Danke!
Schöne Grüße
Marcel
AW: Abfrage auf 9 dahinter
08.02.2010 13:11:16
Mal
Hi!
Option Explicit
Dim strMsg As String
Sub Start_()
Dim lngRow As Long
lngRow = FindLastRowInRange(ActiveWorkbook.Worksheets("Tabelle2").Range("C:L"))
If lngRow > 0 Then lngRow = RowsUpToValuesCount(ActiveWorkbook.Worksheets("Tabelle2").Range("D: _
L"), lngRow, 9)
If lngRow > 0 Then
ActiveSheet.Range("G1") = ActiveWorkbook.Worksheets("Tabelle2").Cells(lngRow, 3).Value
End If
End Sub

Function RowsUpToValuesCount(objRange As Range, lngRowLast As Long, lngValuesMin As Long) As  _
Long
Do While Application.CountA(Intersect(objRange, objRange.Rows(lngRowLast))) 

Function FindLastRowInRange(objRange As Range) As Long
Dim lngLastRow  As Long
With objRange
If Application.WorksheetFunction.CountA(.Cells) > 0 Then
On Error Resume Next
lngLastRow = .Cells.Find(What:="*", After:=.Cells(1), _
LookIn:=xlFormulas, LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
If Err.Number = 0 Then
strMsg = "Letzte Zeile mit Daten: " & lngLastRow
Else
strMsg = "Laufzeitfehler '" & CStr(Err.Number)
strMsg = strMsg & "':" & vbCr & Err.Description
End If
On Error GoTo 0
Else
strMsg = "Der Bereich enthält keine Daten!"
End If
End With
strMsg = objRange.Address(external:=True) & vbCr & vbCr & strMsg
MsgBox strMsg, vbInformation, Title:="Letzte Zeile mit Daten ermitteln (Find-Methode)"
Set objRange = Nothing
FindLastRowInRange = lngLastRow
End Function

Anzeige
AW: Abfrage auf 9 dahinter
08.02.2010 14:24:26
Marcel
Hallo,
danke der Code sieht ja vielversprechend aus!
Wenn du mir aber noch sagen könntest wie ich zB. Daten aus Spalte C der Tabelle "Daten" in die Zelle B12 der Tabelle "Formular" bekomme würdest du mir einen riesen Gefallen tun!
Gruss Marcel
AW: Abfrage auf 9 dahinter
08.02.2010 16:27:34
Mal
Hi!
"Tabelle2" ---> "Daten"
ActiveSheet.Range("G1") ---> ActiveWorkbook.Worksheets("Formular").Range("B12")

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige