Autor Thema: Exel Export - delete column ??  (Gelesen 2882 mal)

Offline Greg

  • Frischling
  • *
  • Beiträge: 8
Exel Export - delete column ??
« am: 27.10.05 - 15:14:41 »
Hallo,

ich habe folgendes problem!

ich möchte nach meinem Export nach Exel eine Ausgewählte Spalte ,in der nach dem Export nichts reingeschrieben wurde löschen und die nachfolgende Spalte um eine nach links verschieben.

Das Problem ob in der Spalte was steht oder nicht habe ich gelöst:

Nur das löschen funktioniert nicht , ich hab es mit folgendem Code versucht:
vc = view.EntryCount
dim flag as  Boolean
-----------------------------
dann folgt nen weitere code und dann kommt das problem?!

      If flag = True And zaehler = vc Then
            
            xlSheet.Columns("S:S").Select     
            xlSheet.Selection.Delete
            
         End If

Es kommt die Fehlermeldung:  Instance member SELECTION does not exsist???
Die Frage ist WARUM;)

kann mir jemand weiterhelfen?!danke

            


« Letzte Änderung: 27.10.05 - 15:36:20 von Greg »

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Exel Export - delete column ??
« Antwort #1 am: 27.10.05 - 15:36:45 »
selection ist ein Property/Subklasse von ExcelApplication.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline Greg

  • Frischling
  • *
  • Beiträge: 8
Re: Exel Export - delete column ??
« Antwort #2 am: 27.10.05 - 15:40:05 »
d.h?

wie bekomm ich das problem gelöst!

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Exel Export - delete column ??
« Antwort #3 am: 27.10.05 - 15:44:07 »
Du hast ja irgendwo ein xlApplication Objekt.
Von dem aus kommst Du dann an die Selection:
xlApplication.Selection. ...
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline Greg

  • Frischling
  • *
  • Beiträge: 8
Re: Exel Export - delete column ??
« Antwort #4 am: 27.10.05 - 15:47:59 »
das tut leider nicht!


Set objExcel = CreateObject("Excel.Application")
   objExcel.Workbooks.Add
   
   Set xlSheet = objExcel.Workbooks(1).Worksheets(1)

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Exel Export - delete column ??
« Antwort #5 am: 27.10.05 - 16:00:35 »
Deinem Code folgende müsste es dann
objExcel.Selection heissen.
Wie gesagt: Selection ist kein Objekt vom Sheet, sondern des Gesamtprogramms Excel - sonst könntest Du ja auf jedem Sheet eine eigene Selektion haben.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline Greg

  • Frischling
  • *
  • Beiträge: 8
Re: Exel Export - delete column ??
« Antwort #6 am: 27.10.05 - 16:02:04 »
oh ok jetzt hab ich es kapiert danke!

Offline Greg

  • Frischling
  • *
  • Beiträge: 8
Re: Exel Export - delete column ??
« Antwort #7 am: 27.10.05 - 16:11:42 »
objExcel.Selection...


wird ein Fehler angezeigt! könnte mir jemand vielleicht ne Beispiel Code geben?!

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Exel Export - delete column ??
« Antwort #8 am: 27.10.05 - 16:19:09 »
Wie du an xlApp kommst weisst Du ja schon - entspricht Deinem objExcel.

xlApp.Rows("1:1").Select
With xlApp.Selection.Interior
   .ColorIndex = 15'Grey
End With
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline Greg

  • Frischling
  • *
  • Beiträge: 8
Re: Exel Export - delete column ??
« Antwort #9 am: 28.10.05 - 08:08:15 »
Welche Zahl entspricht den keiner Farbe????
und wie bekomm ich ne Spalte gelöscht und dann die nachfolgende spalte um eins nach links verschoben`?!?!

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Exel Export - delete column ??
« Antwort #10 am: 28.10.05 - 08:15:31 »
Keine Ahnung.
Mein Vorgehen ist wie folgt:
Ich zeichne ein Macro auf, dass genau das tut, was ich will. In Deinem Fall also würde ich ein Macro aufzeichnen, in dem eine Spalte gelöscht wird.
Dann schaue ich mir das Macro im VBA-Editor an. Den öffnest Du aus Excel über die Optionen Macro editieren.
Dort steht dann schon mal das Grundgerüst - allerdings mit den VBA Konstanten (z.B. Farbe).
Die kannst Du in Integer umwandeln, in dem Du sie im Object Browser (innerhalb des VBA-Editors) nachschlägst.
Den Code kannst Du mehr oder weniger 1:1 übernehmen - Fallstrick ist alleine die Tatsache, dass Du vor Dinge wie Selection noch ein objExcel. schreiben musst.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline Greg

  • Frischling
  • *
  • Beiträge: 8
Re: Exel Export - delete column ??
« Antwort #11 am: 28.10.05 - 08:37:55 »
Das mit dem makro aufzeichn hab ich ganz zu anfang gemacht hat leider nicht getan ! Deswegen habe ich dieses Problem auch!

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Exel Export - delete column ??
« Antwort #12 am: 28.10.05 - 08:48:30 »
'xlApp ... Excel-Objekt
 
z.B. Spalte B löschen
xlApp.Columns("B:B").Select
xlApp.Selection.Delete -4159
   
z.B. Zelle C2 auf keine Hintergrundfarbe setzen
xlApp.Range("C2").Select
xlApp.Selection.Interior.ColorIndex = -4142
Gruß
Dirk

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Exel Export - delete column ??
« Antwort #13 am: 28.10.05 - 08:59:12 »
Halli hallo hallöchen,

um eine Spalte zu löschen musst du diese nicht umbedingt selectieren.
Delete ist eine Funktion eines Range-Objektes.
Zum Beispiel:

1. Excel starten
2. Arbeitsmappe erstellen
3. Dritte Spalte aus erster Tabelle entfernen

   Dim app As Variant   ' excel application object
   Dim books As Variant   ' workbooks list object
   Dim book As Variant   ' workbook object
   Dim sheets As Variant   ' worksheets list object
   Dim sheet As Variant   ' worksheet object
   Dim range as Variant   ' range object
   Const xlToLeft = -4159
   
   ' run excel
   Set app = CreateObject("Excel.Application")
   app.Visible = True

   ' add a new woorkbook
   Set books = app.Workbooks
   Set book = books.Add()
   
   ' get the first worksheet
   Set sheets = book.Worksheets
   Set sheet = sheets(1)
   
   ' get the first column and delete column
   Set range = sheet.Column(3)
   Call range.Delete(xlToLeft)

Ich für meinen Teil vermeide es, Zellenbereiche (Range-Objekte) mit Buchstaben zu adressieren.
Mit Zählern braucht man sich um eine korrekte Adressierung mittels eines Strings nicht zu kümmern.

1. Einen bestimmten Bereich ("A3:C5") als Range-Object (range)

   Set range = sheet.Range(sheet.Cells(3,1),sheet.Cells(5,3))

2. Eine Spalte ("S:S") als Range-Objekt (column)
   Dim column as Variant
   Set column = sheet.Columns(19)

Was deine die Farbcodes betrifft:
Die Eigenschaft ColorIndes des Interior-Objektes (das du von einem Range-Objekt bekommst) holt sich die Farbe aus einem vordefinierten Satz an Farben (s. Menü "Extras\Optionen" Register "Farbe").
Die dort definierten Farben kannst du natürlich ebenfalls manipulieren.

' RGB ist eine Funktion die mir einen entsprechenden Long vert zurück gibt
   book.Colors(55) = RGB(206,229,223)
   book.Colors(56) = RGB(225,225,225)

' Farbe verwenden
   Dim myinterior as Variant
   Set myinterior = range.Interior
   myinterior.ColorIndex =  55

' keine Farbe verwenden
   Const xlNone = -4142
   Set myinterior = range.Interior
   myinterior.ColorIndex = xlNone

Die Namen der Variablen richten sich nach dem Code oben.
Gruß
Johnson

Offline Greg

  • Frischling
  • *
  • Beiträge: 8
Re: Exel Export - delete column ??
« Antwort #14 am: 28.10.05 - 12:42:19 »
 OK dankeschön an alle für die Hilfe !!!!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz