An grundlegenden Sachen scheitern...
14.03.2018 09:13:35
Burak
In diesem Sinne guten Morgen und Hilfe!
Es geht ums Zeilen zählen bis zur ersten freien Zeile.
Ich habe im Tabellenblatt "Rohdaten" in den Spalten A-L Werte bzw Spalte 1 Überschriften.
Jetzt wollte ich mit Cells(Rows.Count...) ermitteln wieviele Zellen befüllt sind.
Aber egal was ich mache, ich kriege immer den Wert 1 zurückgegeben von diesem Befehl.
Der Code:
Loletzte = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
MsgBox (Loletzte)
Der Gesamtcode:
Sub dataimport()
'Deklaration der Variablen
Dim ws As Worksheet, importdatei, Loletzte As Long, i As Long, k As Long
'Pfadermittlung für den Import
importdatei = Application.GetOpenFilename
'Abbruchfunktion
If importdatei = "Falsch" Then Exit Sub
'Makrobremsen lösen
With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = False
End With
With Worksheets("Rohdaten")
If .AutoFilterMode Then .Rows("1:1").AutoFilter
.Cells.Clear
End With
Set ws = ActiveWorkbook.Sheets("Rohdaten")
'Dateipfad und Ziel für Import
With ws.QueryTables.Add(Connection:="TEXT;" & importdatei, Destination:=ws.Range("A2"))
'Import als Textformatierung
.TextFileParseType = xlDelimited
'Spaltentrennung in Quelldatei per Komma
.TextFileSemicolonDelimiter = True
'Aktualisieren der externen Datenverbindung
.Refresh
End With
With Worksheets("Rohdaten")
.Range("A1").Resize(, 12) = Array("x", "y", "Zeitstempel", "Barcode", "Bauteil", "LIBName", " _
Analysetyp", "w", "Fenster", "PIN", "Feat", "Wert")
Loletzte = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
MsgBox (Loletzte)
'Zielbereich festlegen
For k = 2 To Loletzte
'Datum rausfiltern
.Range("M" & k) = Left(.Range("C" & k), 8)
'Uhrzeit rausfiltern
.Range("N" & k) = Right(.Range("C" & k), 6)
Next k
'Spaltenbreiten
.Columns("A:N").EntireColumn.AutoFit
'Einzelne Formatierungen
.Columns("M:N").NumberFormat = "General"
'Überschriftenformatierung
.Rows(1).NumberFormat = "General"
.Range("A1:N1").Font.Bold = True
'Filter aktivieren
If .AutoFilterMode Then
If .FilterMode Then .ShowAllData
Else
.Rows(1).AutoFilter
End If
End With
MsgBox ("Der Import der Daten ist abgeschlossen.")
End Sub
Hoffe ihr habt eine Idee!Freundliche Grüße