Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Ankunft und Abfahrtsskript in Excel per VBA

Frage Entwicklung VB for Applications

Mitglied: Acrysis

Acrysis (Level 1) - Jetzt verbinden

18.01.2012 um 13:45 Uhr, 2792 Aufrufe, 12 Kommentare

Morning

Huhu,

ich habe eine Frage bzw. ich komme nicht weiter....ich habe eine Excelliste (Spalte A-L), ich habe es soweit, das wenn ich etwas in E schreibe, er in F die jetzige Uhrzeit schreibt, wenn ich in G ein x mache, das er mir in Spalte H die jetzige Zeit schreibt, damit ich eine Differenz habe wann ich losgefahren und wiedergekommen bin.

Da ich die Liste nicht offen liegen lassen möchte, habe ich mir überlegt das ganze per UserForm zu erstellen (Die Komplettliste ausgeblendet), soweit kein Problem, er schreibt die Spalten A-E voll, in Spalte F schreibt er auch die Uhrzeit....

Nun mein Problem bzw. mein Ende bei VBA, ich möchte noch einen Button erstellen, wo ich die Nummer aus Spalte E (Nummern in Spalte E sind einzigartig) eintrage und ein x schreiben kann, das er dann in die Spalte G setzt, allerdings starten mehrere Leute und er muss sich die Nummer aus Spalte E aus der Liste suche und dahinter ein x setzen um die Fahrt zu beenden.

Sprich die Suche nach einer Nummer in Spalte E und das zugehörige schreiben des x in Spalte G bekomme ich nicht hin. Die Userform ist aufgebaut in 2 Textboxen und 1 Button (Textbox_1 = Nummer, Textbox_2 = x für fertig)


Ich hoffe ich habe es verständlich genug erklärt und ihr könnt mir behilflich sein
Mitglied: 83928
18.01.2012 um 14:59 Uhr
Hi,

hier ein kleines Beispiel zum anpassen:

01.
Dim rngFind As Range 
02.
 
03.
Set rngFind = Columns(5).Find(2) 'Die Nummer 2 wird hier gesucht 
04.
If Not rngFind Is Nothing Then 
05.
    Cells(rngFind.Row, 7) = "x" 'Ein X wird in Spalte G eingetragen 
06.
Else 
07.
    MsgBox "Nr nicht vorhanden" 
08.
End If 
09.
set rngFind=nothing
Bitte warten ..
Mitglied: Acrysis
19.01.2012 um 09:33 Uhr
Das funktioniert nun alles schon sehr gut, allerdings weiß ich nicht was ich machen soll, damit er nachdem ich den button zum bestätigen drücke er mir die beschriebenen Felder aus der Userform löscht

2. Sobald die Fahrt beendet wurde brauche ich den Zeitwert aus Spalte L beidem das x gesetzt wird.
Bitte warten ..
Mitglied: 83928
19.01.2012 um 09:41 Uhr
Zitat von Acrysis:
Das funktioniert nun alles schon sehr gut, allerdings weiß ich nicht was ich machen soll, damit er nachdem ich den button
zum bestätigen drücke er mir die beschriebenen Felder aus der Userform löscht
Du meinst Du willst den Inhalt der Textfelder löschen??? Wie wäre es mit
01.
Textbox=""
2. Sobald die Fahrt beendet wurde brauche ich den Zeitwert aus Spalte L beidem das x gesetzt wird.
01.
debug.print cells(rngFind.row,12)
Bitte warten ..
Mitglied: Acrysis
19.01.2012 um 10:09 Uhr
Zum 2.: Es reicht wenn es als MsgBox auftaucht damit der jenige weiß wie lange er gebraucht hat.

Der geht irgendwie nicht

MsgBox Cells(rngFind.Row, 12, "hh:nn:ss")

Ohne das "hh:nn:ss" nimmt er es, allerdings in einer unguten Formatierung ;)
Bitte warten ..
Mitglied: 83928
19.01.2012 um 10:20 Uhr
Zitat von Acrysis:
Zum 2.: Es reicht wenn es als MsgBox auftaucht damit der jenige weiß wie lange er gebraucht hat.

oO
Aber das Du debug.print durch msgbox ersetzen musst, brauche ich Dir nicht zu schreiben, oder? ;)
Bitte warten ..
Mitglied: Acrysis
19.01.2012 um 10:26 Uhr
Der geht irgendwie nicht

MsgBox Cells(rngFind.Row, 12, "hh:nn:ss")

Ohne das "hh:nn:ss" nimmt er es, allerdings in einer unguten Formatierung ;)

Naja das war mir klar ;)
Bitte warten ..
Mitglied: 83928
19.01.2012 um 10:32 Uhr
01.
msgbox Format(cells(rngfind.row,12),"hh:mm:ss")
Bitte warten ..
Mitglied: Acrysis
19.01.2012 um 10:58 Uhr
Ahh alles klar nun funktioniert es alles, es fiel mir aber noch auf das wenn ich die fahrt beende und anstatt z.b. der 7403 nur eine 3 eintrage, dass er dann automatisch bei der 7403 das x macht, warum? Ich nahm an er sucht nach der genauen nummer ;)

Anstatt

Set rngFind = Columns(5).Find(2)

hab ich einfach
Set rngFind = Columns(5).Find(TextBox1) genommen, das funktioniert auch bis auf das oben beschrieben problem
Bitte warten ..
Mitglied: 83928
19.01.2012 um 11:14 Uhr
OK, in der Standardeinstellung sucht Find anscheinend nur nach einem Teil des Zellinhalts. Um den ganzen Zellinhalt zu vergleichen kann man die XlLookAt-Konstante xlWhole benutzen. So zumindest steht es sinngemäß in der Excel-Hilfe.

01.
Set rngFind = Columns(5).Find(What:=TextBox1, LookAt:=xlWhole)
Bitte warten ..
Mitglied: 76109
19.01.2012 um 11:42 Uhr
Hallo @All!

Find verwendet ohne Parameter die letzte Sucheinstellung, wie sie von der Funktion Find oder der Suchfunktion in der Excel-Oberfläche verwendet wurde. Von daher müssen/sollen die Optionen immer entsprechend gesetzt werden.

Gruß Dieter
Bitte warten ..
Mitglied: Acrysis
19.01.2012 um 11:43 Uhr
Ich bedanke mich für deine Geduld und hilfe abaaba, es funktioniert alles so wie ich es mir vorgestellt habe ;)
Bitte warten ..
Mitglied: 83928
19.01.2012 um 12:00 Uhr
Zitat von 76109:
Hallo @All!

Find verwendet ohne Parameter die letzte Sucheinstellung, wie sie von der Funktion Find oder der Suchfunktion in der
Excel-Oberfläche verwendet wurde. Von daher müssen/sollen die Optionen immer entsprechend gesetzt werden.

Gruß Dieter

Axo, wieder was gelernt ;)
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

Microsoft Office
Excel VBA: Tranferieren von Werten aus Quelldatei in die Masterdatei mit SVERWEIS (3)

Frage von peter.schroeder zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...