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

VBA

VBA
22.03.2006 09:10:14
Bernd
Folgendes Listing bearbeite ich zur Zeit. Auf grund meiner sehr beschränkten VBA Kenntnisse komme ich hier nicht weiter.

Private Sub Eintragen_Click()
Dim wksworksheet As Worksheet
Dim rngUsedRange As Range
Dim ingRows As Long
Dim introw As Integer
Dim intcell As String
' Buchungssätze schreiben
If Optbar.Value = True Then
Set wksworksheet = ThisWorkbook.Worksheets("Bar")
Else
Set wksworksheet = ThisWorkbook.Worksheets("Konto 2502909")
End If
For introw = 8 To 150
If Cells(introw, 2) < 0 Then
Exit For
End If
Next
MsgBox (introw)
wksworksheet.Cells(lntrow, 1).Value = txtDatum.Text
End Sub

Bie If Cells liegt schin mein erstes Problem. In meiner Beispieltabelle sind die Zeilen 8-31 mit Werten belegt. Ich möchte mit dieser Abfrage erreichen, das die letzte belegte Zeile ermittelt wird und dann mit der Zeile nach der msgbox (Ist nur für Tests gedacht) die werte aus meinem Formular in die erste leere Zeile Eintragen. In der Spalte 2( B) stehen Zahlen genauer gesagt eine Formel die eine Zahl errechnet. Bei meinen Test lande ich immer in der Zeile 8 oder 151. Das heisst für mich, die gesetzte Bedingung in der If Abfrage wird nicht so interprtiert, wie ich mir das wünsche. Ich habe auch schon die Spalten 3 (Dort steht ein Text oder nichts) und auch die Spalte 1 (dort steht ein Datum oder nichts) probiert. Das Ergebnis war immer das Gleiche. Wo ist mein Fehler.
Ich hoffe auf Eure Hilfe.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA
22.03.2006 10:33:44
Peter
Hallo Bernd,
versuch mal If IsEmpty(Cells(Introw, 2).Value) Then oder If Cells(Introw, 2) = "" Then
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: VBA
22.03.2006 10:43:19
Bernd
If IsEmpty(Cells(Introw, 2).Value) Then
ergibt den Wert 8
und schreibt dann in die 10 Zeile
If Cells(Introw, 2) = "" Then
ergibt den Wert 8
und schreibt dann in die 10 Zeile
nach meiner Tabelle dürfte die For next Schleife aber erst ab 31 verlassen werden.
Trotzdem Danke für die Tips
Bernd
AW: VBA
23.03.2006 06:44:06
Bernd
Ich habe nun eine Lösung gefunden die funktioniert:
With Sheets("Konto 2502909")
.Activate
.Range("A65536").End(xlUp).Select
End With
intcell = ActiveCell.Address
Die Variable intcell wurde vorher als String definiert. Ich erhalte damit die richtige letzte belegte Adresse in der Spalte A zurück. In meinem Fall als "$a$31". Um die Zeilennummer zu erhalten muss, diese nur noch aus dem String extrahieren. In einer Excel Tabelle würde ich das mit der Funktion TEIL machen. und dann den gewonnen Reststring in eine Zahl umwandeln. Ich rätsele jetzt wie die Funktion TEIL in VBA heisst.
Danke für Hilfe
Bernd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige