Eine Familie von Microsoft-Tabellenkalkulationsprogrammen mit Tools zum Analysieren, Darstellen und Vermitteln von Daten.
Am 15.11.2010 15:37, schrieb Sabrina Sanders:
Ich habe in Access 2010 ein Stück vba Code den ich unten abgebildet habe. Wenn es nichts zu ersetzen gibt bei .Selection.Replace What:= " ", Replacement:="", LookAt:=2 dann reklamiert Excel, dass es nichts zu ersetzen hätte. Das ist ja richtig, aber muss Excel diesen Dialog ausgeben, kann man den nicht unterbinden? Wie sag ich Excel: "Halt die Klappe und arbeite!"?
Nun ja, das Replace eigentlich arbeitet von sich aus "lautlos", daran kann es nicht liegen. Das .Cells vom Application object bezieht sich zwar laut Hilfe dann auf ActiveSheet, aber wie das mit Select zusammen funktioniert... rein technisch gesehen ist es zwar okay, aber praktisch doch unüblich. Und ohne Select ist es eh besser, probier es mal so.
Andreas.
Enum XlDirection
xlDown = -4121
xlToLeft = -4159
xlToRight = -4161
xlUp = -4162
End Enum
Enum XlLookAt
xlWhole = 1
xlPart = 2
End Enum
Enum XlWindowState
xlMaximized = -4137
xlMinimized = -4140
xlNormal = -4143
End Enum
Sub Test()
Dim objExcel As Object 'Excel.Application
Set objExcel = CreateObject("Excel.Application")
With objExcel
.Workbooks.Open Filename:=datei
.WindowState = xlMinimized
.Visible = True
With .ActiveSheet
letzte_spalte = .Cells(1, .Columns.Count).End(xlToLeft) _
.Offset(0, 1).Column
.Cells(1, letzte_spalte).Value = "STORNOPOLICENNUMMER"
gv_datum_spalte = .Rows(1).Find(What:= _
"DATUM_GV_ERÖFFNET", LookAt:=1).Column
policennummer_spalte = .Rows(1).Find(What:= _
"POLICENNUMMER", LookAt:=1).Column
For I = 2 To .Cells(.Rows.Count, policennummer_spalte) _
.End(xlUp).Row
.Cells(I, letzte_spalte).Value = "x" & .Cells(I, _
policennummer_spalte).Value & .Cells(I, gv_datum_spalte) _
.Value & "x"
Next I
With .Range( _
.Cells(1, letzte_spalte), _
.Cells(.Cells(.Rows.Count, policennummer_spalte).End( _
xlUp).Row, letzte_spalte))
.Replace What:=" ", Replacement:="", LookAt:=xlPart
.Replace What:=".", Replacement:="", LookAt:=xlPart
.Replace What:=":", Replacement:="", LookAt:=xlPart
End With
End With
.ActiveWorkbook.Close True
.Quit
End With
End Sub