1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Excel Problem(VBA)

  • misanthrop
  • 5. September 2002 um 14:11
  • Unerledigt
  • misanthrop
    2
    misanthrop
    Mitglied
    Punkte
    25
    Beiträge
    3
    • 5. September 2002 um 14:11
    • #1

    Hab ein hier ein Makro das vorher in einem andere sheet war und problemlos lief!dann hab ich das makro in ein anderes sheet kopiert und wollte es über einen button starten! beim kompilieren jedoch erhielt ich folgenden fehler:
    <objekt oder anwendungsorientierten fehler>bei
    While Cells(y, 38) <> "ABSOLUTENDE"
    While Cells(y, 38) <> "Ident Nr."
    Was kann ich tun?
    Für rasche Hilfe wäre ich sehr dankbar!!

    hier noch das ganze makro zum durchschaun!!
    Danke schon mal im voraus!


    Sub ArztbesucheEinfuegen()
    Dim Verz, MADatei, MADateiSheet, ErgDatei As String
    Dim LastArzt, y As Long
    Verz = Cells(1, 3) 'gewünschtes Verzeichnis
    ChDir (Verz)
    MADatei = Cells(2, 3) & ".xls" 'Mitarbeiter-Datei (Importdatei)
    MADateiSheet = Cells(3, 3) 'Mitarbeiter-Datei Sheet-Name
    ErgDatei = Cells(4, 3) & ".xls" 'Ergebnis-Datei

    Workbooks.Open FileName:=Verz & "\" & MADatei
    Range("A1").Select
    Selection.End(xlDown).Select
    LastArzt = ActiveCell.Row
    'Workbooks.Open FileName:=Verz & "\" & ErgDatei

    y = 1
    While Cells(y, 38) <> "ABSOLUTENDE"
    While Cells(y, 38) <> "Ident Nr."
    y = y + 1
    Wend
    y = y + 1
    While Cells(y, 38) <> "ENDE" 'Spalte mit Werten die abgeglichen werden von MADatei
    For z = 1 To LastArzt
    If Workbooks(MADatei).Sheets(MADateiSheet).Cells(z, 1) = Cells(y, 38) Then
    Cells(y, 53) = Workbooks(MADatei).Sheets(MADateiSheet).Cells(z, 2) 'Spalte wo geschrieben wird
    End If
    Next
    y = y + 1
    Wend
    y = y + 1
    Wend

    ActiveWorkbook.Save
    ActiveWindow.Close
    Workbooks(MADatei).Activate
    ActiveWindow.Close
    End Sub

  • MJerry
    1
    MJerry
    Mitglied
    Punkte
    10
    Beiträge
    2
    • 6. September 2002 um 00:22
    • #2

    abgesehn mal davon, dass es grauslicher Stil ist (keine Einrückung) - welche Fehlermeldung kam denn?

    lg MJerry

  • Wings-of-Glory
    28
    Wings-of-Glory
    Mitglied
    Reaktionen
    105
    Punkte
    8.305
    Beiträge
    1.573
    • 6. September 2002 um 00:41
    • #3

    Er hat zwar eingerückt, aber am Anfang einer Zeile werden Leerzeiichen nicht dargestellt.
    Ich empfehle Programmcodes entweder zwischen den PHP-TAG dieses Forums oder den CODE-TAG dieses Forums zu schreiben.
    Achtung: &lt;&gt; werden als HTML Tags interpretiert und sollten daher so geschrieben werden:
    &amp;lt;&amp;gt;

    Zitat

    Original geschrieben von misanthrop
    Hab ein hier ein Makro das vorher in einem andere sheet war und problemlos lief!dann
    hab ich das makro in ein anderes sheet kopiert und wollte es &uuml;ber einen button
    starten! beim kompilieren jedoch erhielt ich folgenden fehler: <br>
    &lt;objekt oder anwendungsorientierten fehler&gt;bei<br>
    While Cells(y, 38) &lt;&gt; &quot;ABSOLUTENDE&quot;<br>
    While Cells(y, 38) &lt;&gt; &quot;Ident Nr.&quot;<br>
    Was kann ich tun?<br>
    F&uuml;r rasche Hilfe w&auml;re ich sehr dankbar!!
    <p>hier noch das ganze makro zum durchschaun!!<br>
    Danke schon mal im voraus!</p>

    PHP
    Sub ArztbesucheEinfuegen()Dim Verz, MADatei, MADateiSheet, ErgDatei As StringDim LastArzt, y As Long  Verz = Cells(1, 3) 'gewünschtes Verzeichnis  ChDir (Verz)  MADatei = Cells(2, 3) & ".xls" 'Mitarbeiter-Datei (Importdatei)  MADateiSheet = Cells(3, 3) 'Mitarbeiter-Datei Sheet-Name  ErgDatei = Cells(4, 3) & ".xls" 'Ergebnis-Datei  Workbooks.Open FileName:=Verz & "\" & MADatei  Range("A1").Select  Selection.End(xlDown).Select  LastArzt = ActiveCell.Row  'Workbooks.Open FileName:=Verz & "\" & ErgDatei  y = 1  While Cells(y, 38) <> "ABSOLUTENDE"    While Cells(y, 38) <> "Ident Nr."      y = y + 1    Wend    y = y + 1    While Cells(y, 38) <> "ENDE" 'Spalte mit Werten die abgeglichen werden von MADatei      For z = 1 To LastArzt        If Workbooks(MADatei).Sheets(MADateiSheet).Cells(z, 1) = Cells(y, 38) Then          Cells(y, 53) = Workbooks(MADatei).Sheets(MADateiSheet).Cells(z, 2) 'Spalte wo geschrieben wird        End If      Next      y = y + 1    Wend    y = y + 1  Wend  ActiveWorkbook.Save  ActiveWindow.Close  Workbooks(MADatei).Activate  ActiveWindow.CloseEnd Sub


    Alles anzeigen

    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.» 

    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung