Thema Datum  Von Nutzer Rating
Antwort
Rot ActiveSheet.Range(Cells(), Cells()).Select gibt eine Fehlermeldung aus
03.09.2014 10:06:10 Dimitrij.P
NotSolved
03.09.2014 17:39:18 Gast11669
NotSolved

Ansicht des Beitrags:
Von:
Dimitrij.P
Datum:
03.09.2014 10:06:10
Views:
1181
Rating: Antwort:
  Ja
Thema:
ActiveSheet.Range(Cells(), Cells()).Select gibt eine Fehlermeldung aus

Hallo verehrte VBAler,

ich bin Dimitrij und kenne mich mit VBA (noch) nicht aus. Dennoch fange ich langsam an und wahrscheinlich wie bei jedem stoße ich auf Probleme, die ich nicht selber lösen kann. Deshalb hoffe ich auf eure Hilfe!

 

Mit viel Googlen und Hilfe von ein paar Freunden habe ich folgenden Makro programmiert:

1) Ich habe 2 Excel Tabellen = Tabelle A und Tabelle B

2) Tabelle A = ist die Quelle, besteht aus 10 Arbeitsblättern (gleicher Name, fortlaufende nummerierung), die alle gleich aufgebaut sind. Viele Spalten, mich interessieren die erste und die dritte

3) Tabelle B = in diese sollen die Daten aus Tabelle A rein kopiert werden. Diese hat einen Arbeitsblatt mit 11 Spalten. Das Kopieren läuft unter folgenden Randbedingungen ab:

4) In Tabelle B, Zelle A4 wird ein Datum eingetragen; Makro sucht in Tabelle A, erster Arbeitsblatt in Spalte A nach diesem Datum, sobald die Werte übereinstimmen, sollen ab dieser Zeile wo das Datum gefunden wurde die nächsten 10 Werte aus der dritten Spalte kopiert und in die Tabelle B eingefügt werden. Sobald das abgeschlossen ist, soll der Vorgang für die nächsten Arbeitsblätter der Tabelle A durchgeführt werden, bis Ende.

 

NUN DAS PROBLEM:

Die fett-markierte Zeile im VBA-Code (siehe unten). Sobald er zu der Stelle kommt, wo er die Range mit den Zellen der Variablen "x" , dritte Spalte und die 10 Zellen drunter markieren soll, bekomme ich eine Fehlermeldung: "Laufzeitfelher: "1004": Anwendungs- oder Objektdefinierter Fehler".

Ich habe bereits versucht die Varieble "x" durch absolute Zahlenangaben zu erstzen, das Resultat ist gleich. Das Einzige was funktioniert hat sind folgende 2 Möglichkeiten:

1) Ich habe die Range wie folgt angegeben - Range("C123:C456") - dann ist die Code sauber abgelaufen

2) Ich habe den Vorgang Select als ein Public Sub in einen Modul ausgelagert und rufe ihn dann einfach auf - dann läuft das Makro auch sauber ab

 

Warum kommt diese Fehlermeldung, wenn der Select-Vorgang sich innerhalb des Makro-Kodes befindet?

Ich danke euch im Voraus für eure Hilfe!!!

Viele Grüße

Dimitrij

 

Sub Suchen()
' Arbeitsmappe zum beschreiben der Daten aktivieren
    Windows("Tabelle B.xlsm").Activate
'Zu beschreibende Spalten definieren duch: Variable "spalten", läuft von 3 bis 10
    For spalten = 3 To 10
'ins Speicher den Wert aus aktivierter Arbeitsmappe, Arbeitsblatt "A1", Zelle(A4) schreiben
    speicher = Sheets("PbO").Cells(4, 1).Value
' Variable "reaktor" definieren, setzt sich aus Wort "Reaktor" und Variabla "spalten" minus 2 zusammen
    reaktor = "Reaktor " & spalten - 2
' Variable "x" definieren, läuft von 9 bis 7541
    For x = 9 To 7541
' Arbeitsmappe zum Auslesen der Daten aktivieren
    Workbooks("Tabelle A.xlsm").Sheets(reaktor).Activate

' In Arbeitsblatt "reaktor X" nach Variable "speicher" suchen
    If Sheets(reaktor).Cells(x, 1) = speicher _
        Then
        ActiveSheet.Range(Cells(x, 3), Cells(x + 10, 3)).Select
        Selection.Copy
        Workbooks("Tabelle B.xlsm").Sheets("A1").Activate
        ActiveSheet.Cells(4, spalten).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    x = 7541
End If
Next x
Next spalten

MsgBox "Ende"
End Sub


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot ActiveSheet.Range(Cells(), Cells()).Select gibt eine Fehlermeldung aus
03.09.2014 10:06:10 Dimitrij.P
NotSolved
03.09.2014 17:39:18 Gast11669
NotSolved