Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code funktioniert nicht

Code funktioniert nicht
13.08.2014 09:57:26
Pascal
Sehr geehrte Damen und Herren
Ich habe eine bitte an euch.
Mein Problem:
Ich möchte Zahlen auslesen und den Auftrag in ein anderen Register auf die entsprechende Zeile einfügen. Dieser Code ist gegangen, obwohl ich nichts verändert habe geht dieser Code nicht mehr. Ich weiss nicht wieso.
Habt ihr vielleicht eine Ahnung?
Was ich bis jetzt ausprobiert habe ohne Erfolg:
- Kompatibilität xls xlsm usw.
- Leerschläge in den Zellen
Details:
Auslesen - AuftrSNrEingelesenMatrix Auftrag zum einfügen = "F2"
Abgleichen mit AuftrSNrEingelesenMatrix - FlasherDaten Spalte C
Einfügen - FlasherDaten Spalte O Doppeltvergabe Spalte P
Wenn ihr noch mehr Infos braucht, bitte unsigniert melden.
Vielen Dank
Liebe Grüsse
Pascal
Code:
  • 
    Sub Kopieren()
    If Range("AuftrSNrEingelesenMatrix!F2")  "" Then
    'Ist bereits ein Wert vorhanden?
    If .Range("O" & lSpalte_AA).Value  "" And _
    iÜberschreiben = False And _
    .Range("O" & lSpalte_AA).Value  .Range("AA" & lSpalte_AA).Value Then
    iVerhalten = MsgBox(.Range("O" & lSpalte_AA).Value & " durch " & .Range("AA" _
    _
    & lSpalte_AA).Value & " ersetzen?", vbYesNoCancel, "Daten Überschreiben?")
    'Überschreiben
    If iVerhalten = vbYes Then
    iÜberschreiben = True
    .Range("O" & lSpalte_AA).Value = .Range("AA" & lSpalte_AA).Value
    'Zur betroffenen Zeile gehen
    ElseIf iVerhalten = vbNo Then
    Dim a5 As String
    a5 = MsgBox("In Spalte Doppelvergabe einfügen?.", vbYesNo, "Doppelvergabe?") _
    _
    If a5 = vbYes Then
    Call Kopieren2
    GoTo Beenden
    ElseIf a5 = vbNo Then
    .Range("O" & lSpalte_AA).Select
    GoTo Beenden
    End If
    End If
    Else
    .Range("O" & lSpalte_AA).Value = .Range("AA" & lSpalte_AA).Value
    End If
    End If
    Next lSpalte_AA
    End With
    Beenden:
    'Blind aus
    With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
    End With
    End If
    End Sub
    
    Sub Kopieren2()
    'Blind an
    With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    End With
    'Variablendeklaration
    Dim lSpalte_AA As Long, iÜberschreiben As Boolean, iVerhalten As Long
    'Withblock öffnen
    With ThisWorkbook.Worksheets("FlasherDaten")
    'Schleife starten
    For lSpalte_AA = 1 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
    'Git es einen Ausgangswert?
    If .Range("AA" & lSpalte_AA).Value  "" Then
    'Ist bereits ein Wert vorhanden?
    If .Range("P" & lSpalte_AA).Value  "" And _
    iÜberschreiben = False And _
    .Range("P" & lSpalte_AA).Value  .Range("AA" & lSpalte_AA).Value Then
    iVerhalten = MsgBox("Doppelvergabe: " & .Range("P" & lSpalte_AA).Value & "   _
    _
    durch " & .Range("AA" & lSpalte_AA).Value & " ersetzen?", vbYesNoCancel, "Daten Überschreiben?") _
    'Überschreiben
    If iVerhalten = vbYes Then
    iÜberschreiben = True
    .Range("P" & lSpalte_AA).Value = .Range("AA" & lSpalte_AA).Value
    'Zur betroffenen Zeile gehen
    ElseIf iVerhalten = vbNo Then
    .Range("P" & lSpalte_AA).Select
    GoTo Beenden2
    End If
    Else
    .Range("P" & lSpalte_AA).Value = .Range("AA" & lSpalte_AA).Value
    End If
    End If
    Next lSpalte_AA
    End With
    Beenden2:
    'Blind aus
    With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
    End With
    End Sub
    

  • 6
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Code funktioniert nicht
    13.08.2014 10:10:27
    Rudi
    Hallo,
    geht dieser Code nicht mehr
    immer wieder diese tollen Aussagen.
    Was geht nicht mehr?
    Sollen wir die Mappe nachbauen?
    Lade ein Beispiel hoch.
    Gruß
    Rudi
    P.S.: Variablendeklarationen immer komplett am Anfang des Codes!

    AW: Code funktioniert nicht
    13.08.2014 11:19:07
    Pascal
    Hallo zusammen
    Da die Datei grösser als 300kB ist, kann ich leider keine Excel hochladen.
    Also das Einfügen des sogenannten Wert (Auftrag) der Zelle geht nicht. Genau gesagt der Wert auf F2 sollte dann auf FlasherDaten auf Spalte O (wenn auf Spalte O ein Wert, dann nachfragen ob es überschreiben oder in Spalte P schreiben soll).
    Wenn Sie möchten können Sie Ihre E-Mail angeben, dann kann ich die Excel-Datei zuschicken.
    Ich habe provisorisch eine Word Datei erstellt mit Print Screens. Siehe Anhang
    https://www.herber.de/bbs/user/92070.doc
    Bei Fragen bitte nachfragen, Vielen Dank & Liebe Grüsse
    Pascal

    Anzeige
    AW: Code funktioniert nicht
    13.08.2014 14:06:07
    Rudi
    Hallo,
    Da die Datei grösser als 300kB ist,
    dann speck sie ab.
    Was sollen wir mit Screenshots?
    Gruß
    Rudi

    AW: Code funktioniert nicht
    16.08.2014 16:11:07
    fcs
    Hallo Pascal,
    merkwürdig ist schon einmal, dass der Code, den du in deiner Eingangsfrage gepostet hast, anders ist als in der Datei.
    Im geposteten Code vergleichst du Werte mit Spalte AA in der Datei mit Spalte CC.
    Die Spalte CC ist komplett leer. Dadurch läuft der Code komplett durch, denn die Zeile
    If .Range("CC" & lSpalte_AA).Value "" Then
    wird nie True.
    Ob diese fehlenden Werte oder eine falsche Spalte im Code das Problem sind kann man als außenstehender nicht beurteilen. Da müsstest du ggf. mal den Ersteller der Makros kontaktieren.
    Außerdem ist es keine so gute Idee, den Zeilen-Zähler lSpalte_AA bei 1 beginnen zu lassen, wenn die relevanten Daten ab Zeile 11 beginnen.
    Gruß
    Franz

    Anzeige
    Unsignierte Meldung
    13.08.2014 10:36:39
    Luc:-?
    Wohin ist der Code denn gegangen, Pascal,
    issa nu wech…? ;-]
    Ansonsten schließe ich mich Rudi an!
    Gruß!

    299 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige