Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1152to1156
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
Inhaltsverzeichnis

Eingabefeld wenn

Eingabefeld wenn
Sascha
Hallo Forum
Ich hab mal wieder eine kleine frage.
Ich hab ein VB scribt das von einer TXT Datei Daten in das Blatt Import 200 einfügt. Das klappt auch super.
Nun zur Frage ist es möglich das nach dieser Aktion ein Eingabefeld sich öffnet wo man eine Uhrzeit eingeben muss und diese Uhrzeit wird dann in das Blatt Import 200 eingefügt in Spalte N ab der Zelle 4 wenn in denn Zellen links was steht sonst wird es nicht eingetragen.
Ich hoffe das ich meien Frage gut erleutert habe.
Grüsse Sascha und danke für die hilfe
https://www.herber.de/bbs/user/69194.zip

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Eingabefeld wenn
23.04.2010 07:51:51
David
Hallo Sascha,
so?
Option Explicit
Sub import200TXTself()
Dim strFile As String
Dim lngRow As Long
Dim i As Long
On Error GoTo ErrExit
strFile = Application.GetOpenFilename("Text Dateien (*.txt),*.txt")
'strFile = "C:\INkontrol\200.txt"
If strFile = CStr(False) Then GoTo ErrExit
With Application
.EnableEvents = False
.DisplayAlerts = False
.ScreenUpdating = False
End With
With Sheets("Import 200")
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
With .QueryTables.Add(Connection:="TEXT;" & strFile, Destination:=.Cells(lngRow, 1))
.Name = Left(strFile, Len(strFile) - 3)
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 2
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 9, 1, 9, 1, 9, 1, 2, 5, 9, 1, 9, 1, 1, 1, 9)
.TextFileFixedColumnWidths = Array(3, 21, 7, 1, 7, 9, 8, 3, 8, 6, 9, 18, 3, 8, 20)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
.Columns("A:J").AutoFit
End With
ErrExit:
With Err
If .Number  0 Then MsgBox "Fehler " & .Number & vbLf & vbLf & _
.Description & vbLf & vbLf & "In Prozedur (import200TXTself) in Modul2", _
vbExclamation, "Fehler in Modul / Import200TXTself"
End With
For i = 4 To Range("M65535").End(xlUp).Row
If Cells(i, 13)  "" Then Cells(i, 14) = Date
Next
With Application
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
End With
End Sub
Ich habe zusätzlich noch die Bildschirmaktualisierung (Screenupdating) abgeschaltet, das beschleunigt das Makro und verhindert etwaiges "Flackern" des Monitors.
Gruß
David
Anzeige
AW: Eingabefeld wenn
23.04.2010 22:15:53
Sascha
Hallo David
Das mit dem Bildschirmflackern finde ich cool hab ich gleich in anderen Makros verändert das dort nun auch kein Flackern mehr ist.
Leider klappt das mit deinem Vorschlag nicht. Hab es in mein Excel eingefügt und ausgeführt doch es werden nur die daten von der txt eingefügt in Import 200 und das wars mach ich was falsch?
Nach dem einfügen der TXt dateien sollte eien eingabe erscheinen wo man eine uhrzeit eingeben muss.
Grüsse Sascha
Probier mal..
24.04.2010 00:41:14
Steffen
Hallo David
folgenden Code:
Sub test()
Dim i As Long
Dim myDate
With Sheets(1)
For i = 4 To .Cells(65535).End(xlDown).Row
If WorksheetFunction.CountA(.Range(.Cells(i, 1), .Cells(i, 13))) > 0 Then
If .Cells(i, 14) = "" Then
Do
myDate = InputBox("Bitte Datum eingeben !", "Heute ist der " & Date)
If IsDate(myDate) Then
.Cells(i, 14) = myDate
Else
MsgBox "Bitte gültiges Datum eingeben !", vbCritical, "ABBRUCH"
End If
Loop Until IsDate(myDate)
Exit For
End If
End If
Next
End With
End Sub

Grüße
Steffen
Anzeige
Bitte noch Blattnamen anpassen! owt
24.04.2010 01:04:45
Steffen
.
AW: vergleich dann
24.04.2010 01:47:37
Sascha
Hallo Steffen
Danke für deine hilfe genau sowas hab ich gebraucht.
Ist das noch erweiterbar? In dem es die Spalte F im Blatt Import 200 anschaut und dann das Datum was dort steht in denn Text der MsgBox einfügt. Das dort dann steht Bitte Feierabend Zeit vom 24.03.2010 eingeben.
und das eingegebene wird dann in allen zellen eingefügt wo das Datum von der Abfrage gleich ist und in Spalte F steht.
hab aus Datum Feierabendzeit gemacht.
Grüsse Sascha
AW: ohne datum
25.04.2010 18:36:10
Sascha
Hallo Steffen
Danke für deine Hilfe hab es auch schon in mein Excel eingefügt und angepaßt mit Blattnamen und anderen Sachen.
Nur kann man das noch einfügen wenn in Spalte F kein Datum steht das man einen Hinweis darauf bekommt das dort noch Daten fehlen und das dadurch keine Uhrzeit eingegeben werden kann.
Das mit der heute Datum Sache in dem Makro ist ja ganz toll aber wenn in Spalte F nichts drin steht wird das Heute Datum genommen und nach Eingabe der Uhrzeit setzt sich der PC in still stand weil dann bis 63553 irgendwas die Uhrzeit in Spate N eingefügt wird das ist eher Blöd als gut.
Grüsse Sascha
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige