![]() |
Anzeige:
|
|
|||||||
| Visual Basic, Visual Basic.NET Alles zum Thema - Visual Basic und Visual Basic.NET
Fragen zu VBA bitte in das Forum Office-Anwendungen posten! |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Gast
Beiträge: n/a
|
Hallo
ich habe hier ein kleines Problem. Ich versuche mich gerade an einem Makro um Zeilen mit gleichem Inhalt in Spalte A bis E zu einer zusammen zu fassen. Dabei sollen die Daten aus Feld F addiert werden und G die Anzahl der zusammen gefassten Zeilen angeben. Anschließend soll die 2. Zeile (sofern der Inhalt gleich war) gelöscht werden. Das soll sich so lange wiederholen bis die nächste Zeile nicht gleich ist. Dann soll er diese Zeile mit der darauffolgenden vergleichen und das ganze Spiel bis alle Zeilen überprüft und gegebenen falls zusammengefasst wurden. Bei der folgenden Formel bekomme ich jedoch immer eine Fehlermeldung, meist "Laufzeitfehler '13' Typen unverträglich" oder aber nur "Typen unverträglich" Code:
Sub Zeilenaddieren() Dim i As Integer Dim y As Integer Dim iCounter As Integer i = 19 y = i + 1 For iCounter = 1 To "," Cells(iCounter = 1).Function Do If Ai - Ei = Ay - Ey Then [Fi = Fi + Fy And Gi = iCounter And Cell(y).Delete xlShiftUp] Loop Next iCounter [Else[Ai - Ei = Ay - Ey Then Fi = Fi + Fy And Gi = iCounter Next iCounter]] End Sub Geändert von Frabbing (17.05.2010 um 16:23 Uhr) Grund: Codetags gesetzt |
|
|
|
|
#2 (Direktlink) |
|
Premium Mitglied
![]() Registriert seit: 09.06.2007
Ort: Bremen
Alter: 38
Beiträge: 8.325
|
die Zeile "For iCounter = 1 To ",""
erscheint mir, das das kein "Integer" - Typ ist, sondern "string"
__________________
emulate everything... Free soul! Forenschreck! |
|
|
|
|
|
#3 (Direktlink) |
|
Gast
Beiträge: n/a
|
wieso ein string? muss ich morgen mal testen. ich hab "," auch schon gegen eine zahl ersetzt, da ich mir bei diesem Ausdruck nicht sicher war, aber auch dann nimmt er das nicht, bzw. entweder er läuft und hängt sich an der schleife auf bis der rechner abstürzt oder (auch wenn nur 2 Zeilen zu durchlaufen sind) weigert sich es auszuführen, da angeblich viel zu viele Daten dafür eingetragen sind...
|
|
|
|
#4 (Direktlink) | |
|
Premium Mitglied
![]() Registriert seit: 09.06.2007
Ort: Bremen
Alter: 38
Beiträge: 8.325
|
Zitat:
iCounter = 1 To "," weil due "iCounter" als Integer bezeichnest, und die Zeile, die eben genannt ist den Begriff: >> To "," stehen hat. das "," ist keine Zahl, oder sehe ich das anders?!
__________________
emulate everything... Free soul! Forenschreck! |
|
|
|
|
|
|
#5 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 23.11.2008
Beiträge: 104
|
Hallo Comunity
Das angegebene Makro war oder ist zu keiner Zeit lauffähig,lerne erst ein wenig die wichtigsten Befehle und Zeige uns dann dein Makro ,sehr hilfreich ist hier auch der Macrorecorder Liebe Grüße Tanto Code:
Sub Zeilenaddieren() Dim i As Integer Dim y As Integer Dim iCounter As Integer i = 19 y = i + 1 For iCounter = 1 To "," 'for next schleife erwartet eine zahl und bekommt einen string Cells(iCounter = 1).Function 'Zeilenangabe fehlerhaft und Spaltenangaben nicht vorhanden,falscher Parameter .Function Do 'Endloschleife wird gestartet If Ai - Ei = Ay - Ey Then [Fi = Fi + Fy And Gi = iCounter And Cell(y).Delete xlShiftUp] 'Cells Befehl wie And Verknüpfung und auch Delete Schreibweise sind falsch Loop Next iCounter [Else[Ai - Ei = Ay - Ey Then Fi = Fi + Fy And Gi = iCounter Next iCounter]] 'Else,Cells wie auch die And Verknüpfung und die Next Anweisung sind Falsch End Sub Edit Frabbing: Bitte immer Codetags setzen. Geändert von Frabbing (17.05.2010 um 16:22 Uhr) Grund: Codetags gesetzt |
|
|
|
|
|
|
#6 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 23.11.2008
Beiträge: 104
|
Hallo Azubi
Ein Ansatz vielleicht Liebe Grüße Tanto Code:
Sub Zeilenaddieren()
Dim Wks1LetzteZeileSpalteA As Long
Dim iCounter As Long
Wks1LetzteZeileSpalteA = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For iCounter = Wks1LetzteZeileSpalteA To 1 Step -1
If Cells(19, 1) - Cells(19, 5) = Cells(iCounter, 1) - Cells(iCounter, 5) Then
Row(iCounter).Delete xlShiftUp
Else
'weiterer Code bei bedarf ansonsten Else wegnehmen
End If
End If
Next iCounter
End Sub
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Laufzeitfehler? | maccus2002 | Windows XP | 2 | 14.11.2004 00:06 |
| Laufzeitfehler 9 | cater | Office-Anwendungen | 8 | 07.10.2004 13:46 |
| Laufzeitfehler | LukeD | Office-Anwendungen | 5 | 27.02.2004 07:28 |
| Laufzeitfehler | sischi | Windows XP | 2 | 25.01.2004 16:22 |
| laufzeitfehler | lilly | Office-Anwendungen | 5 | 22.12.2003 02:18 |