vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Sch?tzen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Excel Datei Zeilen löschen 
Autor: Hubert Holler
Datum: 20.12.18 11:13

Hallo!
Ich möchte von einem VB6 Programm eine Excel Datei öffnen und dort ab der 5 Zeile alle Zeilen nach unten die ausgefüllt sind löschen.

Dazu habe ich folgendes versucht:

-------------
Set Excel = CreateObject("Excel.Application")
Excel.Visible = False

Excel.Workbooks.Open sfile
x = 1
'prüfen ob datei gelöscht werden muss
If loeschen = True Then
Dim letztezeile As Long

letztezeile = Excel.Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
Excel.Rows("5:" & letztezeile).Select
Excel.Selection.Delete Shift:=xlUp

End If
-----------

Leider stürtzt das VB6 Programm bei der Zeile letzteteile = Excel.Sheets(1).... ab.
Wenn ich Debugge bekomme ich folgenden Fehler:
Laufzeitfehler 1004:
Die SpecialCells-eigenschaft des Range-Objektes kann nicht zugeordnet werden.

In der Excel Datei funktioniert dies ohne Probleme.

Hoffe es kann mir jemand weiterhelfen.
Vielen Dank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel Datei Zeilen löschen 
Autor: effeff
Datum: 20.12.18 18:10

Die von VBA bekannten Methoden sind nicht 1:1 auf VB6 zu übertragen. Manchmal muss man da irgendwelche Konstanten angeben, um sie benutzen zu können.

Du kannst das aber umgehen, indem Du einfach die erste freie Zelle in Spalte A z. B. suchst und davon eine Zeile abrechnest...

Private Sub Command1_Click()
 
Dim i As Integer
 
Dim excel As Object
 
Set excel = CreateObject("Excel.Application")
 
Dim wb As Object
 
Set wb = excel.workbooks.open("e:\FindCellBeispiel2.xls")
 
Dim sh As Object
 
Set sh = wb.sheets("Tabelle1")
 
Dim gefZelle As Object
 
Set gefZelle = sh.range("A:A").find(What:="")
 
i = gefZelle.row - 1
 
MsgBox ("Die letzte Zeile ist die Zeile: " & i)
 
Set gefZelle = Nothing
 
Set sh = Nothing
 
wb.Close (False)
 
Set wb = Nothing
 
Set excel = Nothing
 
MsgBox ("Fertig")
 
End Sub

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Excel Datei Zeilen löschen 
Autor: Hubert Holler
Datum: 20.12.18 20:54

Vielen Dank für die Antwort.

Wenn ich folgende Änderung durchführe:
Set gefZelle = sh.range("A:A").find("")
hat es dann funktioniert.
Vieeln Dank für den Hinweis

Beitrag wurde zuletzt am 20.12.18 um 20:54:51 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2019 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel