VBA - Wenn Zelle M leer, dann Inhalt von Zelle G übernehmen (Excel 2003)

21/07/2009 - 10:52 von Martina Möhrke | Report spam
Hallo NG,

ich brauche bitte noch einmal Eure Hilfe. In meiner Userform gibt es
ein Kombinationsfeld mit welchem diverse Textboxen gefüllt werden. Als
Basis dient eine Tabelle mit Flugverbindungen. Manche Flugverbindungen
sind Direktverbindungen, manche mit Umsteigen. Somit steht die
Ankunftszeit entweder in Spalte G (bei Direktverbindungen) oder aber
in Spalte M oder Spalte S bei Umsteige-Verbindungen.

Nun möchte ich gerne in meiner Textbox "txtankunfthin" die endgültige
Ankunftszeit anzeigen, d.h. wenn also in Spalte S ein Eintrag steht,
bitte diesen übernehmen, ansonsten aus Spalte M oder aber aus Spalte
G.

Zu berücksichtigen ist aber, dass bei den Umsteige-Verbindungen in
Spalte G und M auch die Ankunftszeiten der Weiterflüge stehen.

Im Moment sieht ein Teil meines Codes so aus:

If cboflughin.ListIndex <> -1 Then
cboflughin = Sheets("Flugverbindungen").Range("B4").Offset
(cboflughin.ListIndex, 0)
cboflughin.Enabled = False
txtankunfthin = Sheets("Flugverbindungen").Range("B4").Offset
(cboflughin.ListIndex, 5)
txtankunfthin.Enabled = False

Hier wurde allerdings nur die Zeit aus Spalte G übernommen und noch
keine Abfrage vorgenommen.

Hat jemand eine Idee für mich? Vielen Dank im Voraus.

Gruß
Martina
 

Lesen sie die antworten

#1 Andreas Killer
21/07/2009 - 12:17 | Warnen spam
On 21 Jul., 10:52, Martina Möhrke wrote:

Nun möchte ich gerne in meiner Textbox "txtankunfthin" die endgültige
Ankunftszeit anzeigen, d.h. wenn also in Spalte S ein Eintrag steht,
bitte diesen übernehmen, ansonsten aus Spalte M oder aber aus Spalte
G.


Du kannst nur Werte aus einzelnen Zellen übernehmen, welche Zeile/
Zellen in den einzelnen Spalten für Dich in Frage kommen wirst Du
schon wissen...!?

Hier wurde allerdings nur die Zeit aus Spalte G übernommen und noch
keine Abfrage vorgenommen.


Kuck doch in die Zellen ob was drin steht, d.h. ein simples if-then-
else. Oder meinst Du was anderes als das:

Sub Test()
Dim Y As Long
Y = 1
With Sheets("Flugverbindungen")
'Anmerkung zu IsEmpty(.Range("S" & Y)):
'schlàgt fehl wenn eine Formel in der Zelle ist
'Anmerkung zu .Range("S" & Y) <> ""
'schlàgt fehl wenn eine Leerstelle in der Zelle ist
If Len(Trim(.Range("S" & Y))) > 0 Then
txtankunfthin = .Range("S" & Y)
ElseIf UmsteigeVerbindung Then
txtankunfthin = .Range("G" & Y)
Else
txtankunfthin = .Range("M" & Y)
End If
End With
End Sub

Andreas.

Ähnliche fragen