Microsoft Excel

Herbers Excel/VBA-Archiv

Fehlersuche

Betrifft: Fehlersuche
von: Jens
Geschrieben am: 18.04.2003 - 15:00:15

ein schönes Osterfest zusammen, bin leider selbst noch nicht zum Eiersuche gekommen, da ich einen Fehler im Code suche und nicht finden kann.
Ich habe einen Code geändert der jetzt alle Werte der TB kopiert aber mit Fehlermeldung abbricht. Hier der alte und geänderte Code:

Sub speichern_alt()

Dim rngAct As Range
Dim intRow As Integer, intCol As Integer
With Worksheets("Speicher")
If IsEmpty(.Cells(1, 1)) Then
intRow = 1
Else
intRow = .Cells(Rows.Count, 2).End(xlUp).Row + 1
End If
For Each rngAct In Range(Cells(2, 1),Cells(Range("A11").End(xlDown).Row, 5)).Cells
intCol = intCol + 1
rngAct.Copy
.Cells(intRow, intCol).PasteSpecial Paste:=xlValues
Next rngAct
End With
End Sub

Sub Speichern_neu()

Dim rngAct As Range
Dim intRow, intCol As Integer
With Worksheets("Speicher")
If IsEmpty(.Cells(1, 1)) Then
intRow = 1
Else
intRow = .Cells(Rows.Count, 2).End(xlUp).Row + 1
End If
For Each rngAct In Range(Cells(2, 1),Cells(Range("A11").Cells.SpecialCells(xlLastCell).Row, 5)).Cells
intCol = intCol + 1
rngAct.Copy
.Cells(intRow, intCol).PasteSpecial Paste:=xlValues
Next rngAct
End With
End Sub

Ich bekomme bei dem geänderten Code in der Zeile
".Cells(intRow, intCol).PasteSpecial Paste:=xlValues"
die Fehlermeldung "Laufzeitfehler 1004 Anwendungs- oder objektdefinierter Fehler!"
Wo liegt denn hier der eigentliche Fehler?
Danke im Voraus Jens

  

Re: Fehlersuche
von: Forum
Geschrieben am: 18.04.2003 - 16:08:01

Hallo Jens

da Du nur Werte übertragen willst braucht es nicht copy sein.


Sub Speichern_neu()
    Dim rngAct As Range
    Dim intRow, intCol As Integer
    With Worksheets("Speicher")
        If IsEmpty(.Cells(1, 1)) Then
            intRow = 1
        Else
            intRow = .Cells(Rows.Count, 2).End(xlUp).Row + 1
        End If
        For Each rngAct In Range(Cells(2, 1), Cells(Range("A11").Cells.SpecialCells(xlLastCell).Row, 5)).Cells
            intCol = intCol + 1
            .Cells(intRow, intCol) = rngAct
        Next rngAct
    End With
End Sub

Gruß Hajo
Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

  

hi hajo: Dim intRow, intCol As Integer
von: heinz
Geschrieben am: 18.04.2003 - 17:25:17

>>>Dim intRow, intCol As Integer

in diesem Fall ist intRow Variant, nicht (wie's sein soll) Integer!

Siehe Direktfenster:

Sub var_dekl()
Dim intRow, intCol As Integer
Debug.Print "intRow = " & TypeName(intRow)
Debug.Print "intCol = " & TypeName(intCol)
End Sub

  

Re: Dim intRow, intCol As Integer
von: Forum
Geschrieben am: 18.04.2003 - 18:00:37

Hallo Heinz

der Code ist nicht von mir sondern von Jens. Ich habe mich nur um die Beseitigung des Laufzeitfehler gekümmert.

Gruß Hajo
Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

  

Re: hi hajo: Dim intRow, intCol As Integer
von: Jens
Geschrieben am: 18.04.2003 - 18:59:44

Hallo Heinz
Dake für euer Mühe mir beim suchen der Fehler im Code zu helfen.
Ich habe jetzt den geänderten Code von Hajo übernommen und bekomme jetzt eine Fehlermeldung bei
".Cells(intRow, intCol) = rngAct".
Was meinst du mit der dekl. der Variablen? Sollten diese anders formuliert werden?

Gruß Jens

  

bitte an hajo (forum) richten
von: heinz
Geschrieben am: 18.04.2003 - 19:12:21

hi jens
frag hajo, der kann's besser
gruß, heinz

  

Re: Fehlersuche
von: Jens
Geschrieben am: 18.04.2003 - 19:51:14

Hallo Hajo
Dake für euer Mühe mir beim suchen der Fehler im Code zu helfen.
Ich habe jetzt den geänderten Code übernommen und bekomme jetzt eine Fehlermeldung bei
".Cells(intRow, intCol) = rngAct".

Woran kann das liegen
Gruß Jens

  

Re: Fehlersuche
von: Forum
Geschrieben am: 18.04.2003 - 19:53:39

Hallo Jens

bei mir läuft es Fehlerfrei. Poste mal den Teil de Tabelle unter Features steht es wie.

Gruß Hajo
Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

  

Re: Fehlersuche
von: Jens
Geschrieben am: 19.04.2003 - 09:26:54

guten morgen Hajo
schon mal vielen Dank das du nochmals helfen willst, ich bin aber gestérn Abend nicht mehr im Netz gewesen. Hier der Auszug aus dem TB das kopiert werden soll.

Rechnung





























































































































































  A B C D E
9 Lfd.-Nr. Leistungsbeschreibung E.-Preis Menge Gesamt
10          
11 1 0030 Vorbereiten des Untergrundes für die Verlegung von Wandfliesen durch Ausgleichen von Unebenheiten in der Wandfläche, über die zulässigen Toleranzen nach DIN 18202, mit einer geeigneter Spachtelmasse bzw. Bauplatte.     26,00 €
12 2 0034 Wandfliesen, 15/15 bis 30/30 cm im Dünnbettmörtel nach Wahl des AG ansetzen und weiß oder grau verfugen 27,60 € 18,75 517,50 €
13 3 0009 Bordüre im Dünnbett in den Wandfliesenbelag einarbeiten, als Zuschlag 21,73 € 9,42 204,70 €
14 4 0012 Einzeldekore in den Wandfliesenbelag einpassen 6,49 € 5,00 32,45 €
15 5 0023 Schlüter-Rondec-Profile an allen Außenecken im Wandbelag einbauen 5,36 € 12,43 66,62 €
16 6 0039 Revisionsrahmen 20/25 cm in Fliesenbelag einarbeiten 19,43 € 2,00 38,86 €
17 7 0038 Rohrverkleidungskasten anbauen 24,89 €   24,89 €
18 8 0025 Silikonfugen, in Innenräumen (Wartungsfuge), an allen horizontalen und vertikalen Wand- und Bodenanschlüssen sowie an Türbekleidungen einschließlich Vorreinigung Fugenbreite: 6 - 8mm, Fugenfarbe: passend zum Fugenmörtel 2,70 € 24,85 67,10 €
19 9 0040 Acryl-Dichtstoff in Anschlußfuge zwischen Fliesenbelag und Decke 1,76 € 10,00 17,60 €
20 10 0041 Bodenausgleich 82,35 €   82,35 €
21 11 0003 Bodenfliesen, 20/20 cm im Dünnbettmörtel diagonal nach Wahl des AG verlegen und grau verfugen 32,81 € 6,24 204,73 €
22 12 Vorwand für WC mit Gasbeton aufmauern und mit einlagigen Gipskarton beblanken (3,25 h)     52,00 €
23       12,00 €
24        
25          
26   Summe Netto:     1.346,80 €
27   MwSt.: 16%   215,49 €
28   Summe inkl.16% MwSt.:     1.562,29 €






Formeln der Tabelle

E26 : =SUMME(E$8:E25)

E27 : =(E26)*C27

E28 : =SUMME(E26:E27)



Tabellenwebansicht erstellt mit Excel Jeanie HTML

ich habe schon gesehen das die Ansicht nicht die beste ist, muß erst mal in das Programm einarbeiten.
Danke im voraus Jens


  

Re: Fehlersuche
von: Forum
Geschrieben am: 19.04.2003 - 09:45:20

Hallo Jens

bei Deiner Tabelle würde ich folgende Änderung vornehmen

Tabelle1
 ABCDEF
27 MwSt.:16% 215,49 €Multiplkation mit Mwst sollte gerundet weden
Formeln der Tabelle
E27 : =RUNDEN(E26*C27;2)
 
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  

auch mit der Tabelle läuft der Code Fehlerfrei. Schreibe mir doch mal in Worten was der Code machen soll. Das wollte ich mir aus dem Code nicht erarbeiten, da es eigentlich auch nur um Beseitigung der Fehlermeldung geht. Die Veränderung ist mir nicht aufgefallen.

Gruß Hajo
Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

  

Re: Fehlersuche
von: Jens
Geschrieben am: 19.04.2003 - 10:28:32

Hallo Hajo
ich will aus den Zeilen 2 bis 9 die Spalten 1 bis 5 und ab der Zeile 11 bis zur letzten gefüllten Zeile alle Werte der Spalten 1 bis 5 in die TB "Speicher" in die erste freie Zeile fortlaufend kopieren. Die Werte sollen alle in eine Zeile geschrieben werden.

Gruß Jens

  

Re: Fehlersuche
von: Forum
Geschrieben am: 19.04.2003 - 10:49:46

Hallo Jens

irgendwie Komme ich nicht klar
"ich will aus den Zeilen 2 bis 9 die Spalten 1 bis 5" dieser Bereich ist bei mir leer
" und ab der Zeile 11 bis zur letzten gefüllten Zeile alle Werte der Spalten 1 bis 5 in die TB "Speicher" in die erste freie Zeile fortlaufend kopieren. Die Werte sollen alle in eine Zeile geschrieben werden."

Je Zeile also
A11; B11; C11; D11; E11 in Tabelle Speicher in A10
A12; B12; C12; D12; E12 in Tabelle Speicher in B10
usw

oder
A11; B11; C11; D11; E11;A12; B12; C12; D12; E12 usw. in Tabelle Speicher in A10

Gruß Hajo
Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

  

Re: Fehlersuche
von: Jens
Geschrieben am: 19.04.2003 - 11:12:45

hallo Hajo
in den Zeilen 2 bis 10 stehen eigentlich immer KundenDaten die ich nicht mit zeigen wollte.
angenommen in TB"Speicher" ist die erste freie Zeile die 2, dann sollen die Werte der activen TB wie folgt kopiert werden:
A2:E2 in TB"Speicher" in Zeile 2 Spalte 1 bis 5
A3:E3 in TB"Speicher" in Zeile 2 Spalte 6 bis 10 usw. bis Zeile 9

Dann weiter mit Zeile 11 ,da sollen aber nur die Zeilen mit Eintrag kopiert werden, analog vorangegangener Rutine

Jens

  

Re: Fehlersuche
von: Forum
Geschrieben am: 19.04.2003 - 11:42:20

Hallo Jens

und das machte Dein erster Code??
Ein Problem hast Du falls mehr als 51 Zeilen gefüllt sind. Ich habe im Code jetzt alle Zeilen ausgeschlossen die in Spalte A Leer sind. Der Code für nur Zeile 10 ist noch drin.


Sub Speicher()
'   erstellt von Hajo.Ziplies@web.de 19.04.03
    Dim LoLetzte1 As Long
    Dim LoLetzte2 As Long
    Dim LoI As Long
    Dim LoJ As Long
    LoJ = 1
    With Worksheets("Speicher")
    '   letzte Zeile in Tabelle Speicher
        LoLetzte1 = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
    '   Letzte Zeile in Aktiver Tabelle
        LoLetzte2 = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
        For LoI = 2 To LoLetzte2
        ' nur Zeile 10 nicht kopieren
        '    If LoI <> 10 Then
            '   zeilen nicht kopieren die in Spalte A leer sind
                If Cells(LoI, 1) <> "" Then
                    Range(Cells(LoI, 1), Cells(LoI, 5)).Copy
                    .Cells(LoLetzte1, LoJ).PasteSpecial Paste:=xlValues, Operation:=xlNone
                    LoJ = LoJ + 5
                End If
        '    End If
        Next LoI
    End With
    Application.CutCopyMode = False         'Zwischenspeicher löschen
End Sub

Gruß Hajo
Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

  

Re: Fehlersuche
von: Jens
Geschrieben am: 19.04.2003 - 11:52:42

Danke für deine Mühe, es funktioniert.

Ich wünsche Dir schöne Osterfeiertage
Gruß Jens