MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 25.09.2018, 08:09   #1
lcars11
MOF User
MOF User
Standard Frage - Formatproblem im Array

Nachfolgender Code funktioniert grundsätzlich wie er soll, alle Zellen werden im Array gefunden.

TextBox1 enthält eine Zahl
TextBox2 enthält ein Datum
TextBox3 enthält eine Uhrzeit (z. B. "10:00")

Beim Auslesen habe ich das Problem, dass VBA aus dem Array arr(i, 11) den Zahlenwert liest, also 0,416666666666667.

Beim Vergleichen von arr(i, 11) mit TextBox3.Text stimmen diese nicht überein, sodass mein weiterer Code nicht ausgeführt wird.

Meine Frage: Wie kann ich den Arraywert nach/beim Auslesen formatieren, sodass er mit Textbox 3 vergleichen werden kann und die Werte übereinstimmen?


Code:

Dim arr As Variant
Dim i As Long

With Worksheets("Tabelle1")
    arr = .Range("A1:N" & .Cells(.Rows.Count, 1).End(xlUp).Row)
End With

For i = 1 To UBound(arr)
    If arr(i, 1) = TextBox1.Text Then
        If arr(i, 10) = TextBox2.Text Then
            If arr(i, 11) = TextBox3.Text Then
            
                MsgBox "gefunden"
            
            End If
        End If
    End If
Next
Danke Euch vorab.

Grüße
Anja
lcars11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.09.2018, 08:15   #2
EarlFred
MOF Guru
MOF Guru
Standard

Magst du mal Beitrag #8 aus dem Link „Datum und Uhrzeit“ (Signatur) lesen?

Nebenbei: Textboxen enthalten Text. Bevor man diesen mit Zahlen vergleicht, sollte man ihn in solche wandeln. Auch ein richtiges Datum ist eine Zahl, ebenso eine Uhrzeit. Ob Excel das immer richtig interpretiert, sei dahingestellt.

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 6 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,044% per 26.07.2018) - eine tolle Geste!

Geändert von EarlFred (25.09.2018 um 08:18 Uhr).
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.09.2018, 08:31   #3
Mc Santa
MOF Meister
MOF Meister
Standard

Der Vergleich müsste etwa so aussehen:
Code:

Option Explicit

Sub Uhrzeit_als_Double_mit_Text_vergleichen()
    Dim dbl As Double
    Dim txt As String
    dbl = 0.416666666666667
    txt = "10:00"
    
    Debug.Print Format(dbl, "hh:mm") = txt 'Wahr
    
End Sub
Hilft dir das weiter?
VG, Santa

__________________

Nützliches
Wie erstelle ich eine Pivot-Tabelle? (Link)
Alternative (Link ohne YouTube)

Du kannst hilfreiche Beiträge bewerten (Symbol unten links)
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.09.2018, 09:33   #4
lcars11
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo EarlFred,

Für mich würde wohl TEXT(C1;"hhmm") ausreichen, was ich nun noch mit meinem Code kombinieren muss.

Dies ist allerdings, soweit ich das sehe, eine normale Formel die ich so nicht einbauen kann.

Das Beispiel von Santa hilft mir auch irgendwie nicht so wirklich.

Gruß
Anja

Geändert von lcars11 (25.09.2018 um 09:38 Uhr).
lcars11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.09.2018, 09:38   #5
Mc Santa
MOF Meister
MOF Meister
Standard

Folgendermaßen klappt es nicht?
Code:

If Format(arr(i, 11), "hh:mm")= TextBox3.Text Then
Dann müsstest du eine Datei hochladen, da ich genauer suchen muss, wo der Fehler noch liegen kann.

VG, Santa

__________________

Nützliches
Wie erstelle ich eine Pivot-Tabelle? (Link)
Alternative (Link ohne YouTube)

Du kannst hilfreiche Beiträge bewerten (Symbol unten links)
Mc Santa ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.09.2018, 09:45   #6
lcars11
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Mc Santa,

danke für den Einbau. Ich habe oft Schwierigkeiten die richtige Syntax zu finden.

Problem ist gelöst :-)

LG
Anja
lcars11 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 25.09.2018, 09:47   #7
Flotter Feger
MOF User
MOF User
Standard

Hallo Anja,

generell enthält eine TextBox immer Text !!!

Versuch mal ...

If CStr(arr(i, 1)) = TextBox1.Text Then

das sollte für TextBox1 funktionieren - falls nicht ... wir wissen schließlich nicht, was in deinem Array genau drinsteht ... dann bitte eine Musterdatei, wie Santa das bereits geschrieben hat.

__________________

VG Sabina

Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
War der Post für dich hilfreich, darf er von dir auch gerne positiv bewertet werden.
bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Flotter Feger ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.