Office: VBA Problem

Helfe beim Thema VBA Problem in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; WIN 7 Prof Office 2007 H+S Hallo liebe Ex(cel)perten, ihr habt mir mal ein VBA-Projekt gebastelt, bei dem ich innerhalb einer Datei aus einer Zelle... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Alex, 9. Februar 2015.

  1. Alex Erfahrener User

    VBA Problem


    WIN 7 Prof
    Office 2007 H+S

    Hallo liebe Ex(cel)perten,

    ihr habt mir mal ein VBA-Projekt gebastelt, bei dem ich innerhalb einer Datei aus einer Zelle heraus per Dropdown auf Daten eines anderen Tabellenblattes zugreifen konnte.
    Ich habe vor kurzem mit Hilfe eines Freundes, (ich kann sowas nicht), meine C-Partition vergrößert. Dabei haben wir wahrscheinlich irgendetwas wichtiges für das VBA-Projekt verschoben oder sonstwas angestellt, das diese Funktion nicht mehr funktionieren lässt.

    Beim Auswählen einer Zelle, erscheint nun folgende Fehlermeldung:
    >>> Laufzeitfehler '-2147467259(80004005) Die Methode "LinkedCell" für das '_OLEObject' ist fehlgeschlagen. <<<

    Beim öffnen des Debuggers erscheint im dann angezeigten Fenster der VBA-Code, bei dem eine Zeile "Gelb" hinterlegt ist, ich mach die hier mal "Rot" weil man das besser sieht.
    Ich bin sicher ihr habt eine Lösung dafür und hoffe, dass ich die dann auch umsetzten kann.

    Vielen Dank schon mal vorweg
    Thomas



    Option Explicit
    Dim Shp As Shape, Ole As OLEObject

    Private Sub ComboBox1_Change()

    End Sub
    Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ComboBox1.DropDown 'Nach einem Doppelklick wird die Comboliste angezeigt.
    End Sub

    Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Then
    ComboBox1.Visible = False 'ComboBox1 wird nach EINGABE-Taste ausgeblendet
    ActiveCell.Select 'und die dahinterliegende aktive Zelle selektiert.
    End If
    End Sub

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Der Name "ComboBox1" muss unbedingt
    'an den Namen der eingefügten Combo angepasst werden!!
    Set Ole = ActiveSheet.OLEObjects("ComboBox1") '<—— <——
    With Ole
    If Target.Column = 4 And Target.Row > 3 Then
    .Left = Target.Left
    .Top = Target.Top
    .Width = Target.Width
    .Height = Target.Height
    .Visible = msoTrue
    .LinkedCell = Target.Address
    Else
    .Visible = msoFalse
    End If
    End With
    End Sub
    Public Sub ActiveX_Combo_Einfügen()
    Set Ole = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
    Link:=False, DisplayAsIcon:=False, _
    Left:=340.5, Top:=435, Width:=153, Height:=18)
    With Ole
    .ListFillRange = "$A$4:$A$100"

    With .Object
    .ListRows = 45
    .ColumnHeads = True
    .MatchEntry = fmMatchEntryComplete
    End With

    MsgBox Prompt:="Name der Combobox (unbedingt notieren!): " & vbCrLf & vbCrLf & .Name, _
    Title:="Combobox-Name", _
    Buttons:=vbInformation

    End With

    End Sub
     
    Zuletzt bearbeitet: 9. Februar 2015
  2. miriki Erfahrener User
    Moinsens!

    Ich bin mir jetzt auch nicht sicher, was da eigentlich schief läuft. Aber die Fehlermeldung an sich ist schon irgendwie falsch / irreführend. Denn: .LinkedCell ist keine Methode sondern eine Eigenschaft des Objekts. (Ok, meist liegt hinter der "property" auch noch etwas Programm-Logik, aber definitiv kein "sub .. end sub" wie bei einer Methode.)

    Interessanterweise lassen sich die anderen Eigenschaften ja aber ohne Fehlermeldung setzen. Es liegt also vielleicht nicht grundsätzlich am OLE-Objekt selbst, aber zumindest an dieser einen Eigenschaft. Denn ansonsten müßte das "Set ..." schon einen Fehler verursachen.

    Oder es liegt am übergebenen "Target", welches sich nicht als Wert für .LinkedCell eignet. Dann wäre die Fehlermeldung zwar immer noch irreführend, aber im Kern berechtigt.

    Ich hab das mal eben nachgebaut und kann eigentlich keine Probleme feststellen. Ich hab noch ein "and target.cells.count=1" mit in die erste Abfrage eingebaut, damit es nicht komisch aussieht, wenn man mit der Maus einen Bereich markiert.

    Versuch mal als Gegenprobe das Ding im Anhang. Geht das auch nicht, dann ist vielleicht etwas mit Deiner Office-Installation zerhackt.

    Btw: Beim Erzeugen der ComboBox kannst Du der auch gleich einen Namen vergeben. Damit sparst Du dir das Notieren des Namens und das Anpassen des VBA-Codes. Außerdem könntest Du ggf. vor dem Erzeugen versuchen, eine ComboBox mit dem Namen zu löschen oder zumindest die Existenz abzufragen, um ein mehrfaches Anlegen zu verhindern.

    Gruß, Michael
     
  3. Alex Erfahrener User
    Hallo Michael,
    vielen Dank für deine Ausführungen, wie ich am Anfang erwähnte, wurde mir dieses Projekt von "Euch" gebastelt und es hat bis jetzt ja auch tadellos funktioniert.
    Ich habe allerdings schon Probleme damit, eine ComboBox zu erzeugen, wenn ich das mit den Excel-Befehlen, (Entwicklertools, Einfügen, ActicX-Steuerelemente, Kombinationsfeld), versuche, bekomme ich die Fehlermeldung "Objekt kann nicht eingefügt werden". Andere Möglichkeiten sind mir nicht bekannt. Ich habe auch meine "Office-CD" eingelegt und bin auf "Reparieren" gegangen, leider auch ohne Erfolg. Ich habe leider von den ganzen Steuerbefehlen in VBA nicht den geringsten Schimmer, würde es etwas nützen, wenn ich die betroffene Datei hochlade??
    Was ich mit absoluter Sicherheit ausschließen kann ist, das etwas an den Befehlszeilen in VBA verändert wurde, die würde ich niemals anfassen, weil ich mich damit, wie schon gesagt, nicht auskenne.
    Ich bin allerdings nach wie vor überzeugt, dass die ganze Misere von der Veränderung meiner C-Partition herrührt, wir haben dabei auch einige "Ablageorte", die von den Programmen automatisch in C angelegt wurden auf D geändert und verschoben. Jetzt fehlt dem VBA-Projekt vermutlich irgendeine Verknüpfung, darum vielleicht auch die, wie du sagst, irreführende Fehlermeldung. Kann das wirklich der Grund sein, dann bräuchte man den Fehler nicht im VBA-Projekt zu suchen, siehst du das auch so, oder liege ich da mit meiner Einschätzung falsch??

    Viele Grüße
    Thomas
     
    Zuletzt bearbeitet: 10. Februar 2015
  4. miriki Erfahrener User

    VBA Problem

    Moinsens!

    Ah, ein Grund mehr, das Problem weniger im VBA-Code als an anderer Stelle zu suchen. Ich glaub aber nach wie vor nicht, daß die Partitionsänderung das Problem ist.

    Und bei der Fehlermeldung denke ich gleich wieder an die unsäglichen Probleme des Office-Updates vom 18. Dezember 2014.

    Schau mal hier:
    http://blogs.technet.com/b/the_micr...top-working-after-december-2014-updates-.aspx

    Gruß, Michael
     
  5. Alex Erfahrener User
    Hallo Michael,
    vielen Dank für den Link, habe ich mir angesehen, das scheint in der Tat ein Office-Problem zu sein, es wird da auch beschrieben, wie man das Problem "händisch" lösen kann, da geh' ich aber auch nicht ran, ich warte lieber bis das Prob hoffentlich beim nächsten Office-Update behoben wird.
    Viele Grüße
    Thomas
     
  6. Alex Erfahrener User
    Hallo zusammen,
    das Warten war erfolgreich, das Problem scheint gelöst zu sein, jetzt funktioniert wieder alles.

    Vielen Dank für eure Hilfe
    Thomas
     
Thema:

VBA Problem

Die Seite wird geladen...
  1. VBA Problem - Similar Threads - VBA Problem

  2. Problem im Code für Mehrfachauswahl in Dropdownliste

    in Microsoft Excel Hilfe
    Problem im Code für Mehrfachauswahl in Dropdownliste: Hallo beisammen, ich soll für meinen Stiefvater eine Tabelle über seine Bestandskunden und deren Produkte erstellen und bin dabei nun auf folgendes Problem gestoßen: Ich brauche in mehreren...
  3. Excel VBA / Daten kopieren wenn Liste auf x steht.

    in Microsoft Excel Hilfe
    Excel VBA / Daten kopieren wenn Liste auf x steht.: Hallo zusammen, ich habe ein PowerQuery, welches ich ca. 2 mal im Monat aktualisiere. Aus dem Query möchte ich gerne die Daten per Makro in ein anderes Arbeitsblatt kopieren. Dabei möchte ich...
  4. kleines Problem beim erstellen von serienbriefen per vba

    in Microsoft Excel Hilfe
    kleines Problem beim erstellen von serienbriefen per vba: Hallo Zusammen ich habe letztes Jahr mit Hilfe eines Forums einen VBA Code erstellt mit dem ich Serienbriefe aus einer Exceldatei erstellen kann. Jetzt habe ich das Sheet in Excel angepasst und...
  5. Outlook VBA NewMail Funktion Problem

    in Microsoft Outlook Hilfe
    Outlook VBA NewMail Funktion Problem: Hallo zusammen, ich möchte aus eingehenden E-Mails Anlagen in einem vorgegebenen Order abspeichern. Ich habe mir dazu ein Makro aus dem Netzt gemopst - zugegebenermaßen- was genau das kann....
  6. Excel VBA Problem create button

    in Microsoft Excel Hilfe
    Excel VBA Problem create button: Hallo liebe Community, ich hoffe ihr könnt helfen, bin am verzweifeln und kann den Fehler einfach nicht finden. Wir haben eine aufwendig gestallte Excel Liste, wo wir unter anderem Button...
  7. Excel VBA blattschutz Problem

    in Microsoft Excel Hilfe
    Excel VBA blattschutz Problem: Hallo. Ich habe seit ein paar tagen folgendes Problem. Ich habe eine excel tabelle mit mehreren Tabellenblättern. Die Tabellenblätter sind mit einem Blattschutz versehen. Der Blattschutz wurde...
  8. VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht

    in Microsoft Excel Hilfe
    VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht: Hallo zusammen, mein Name ist Marc, und ich bin neu hier... Ich habe ein Problem mit einem Makro und komme leider nicht weiter ☹ vielleicht könnt ihr mir helfen? In der angefügten Datei verwende...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden