Excel Maro mit VBA -> bitte Hilfe

Hallo
folgendes Problem

Ich habe eine Excel Datei, moechte ein VBA Makro erstellen das anhand der Tabelle1 bei Werteen mit „ES“ in Tabelle 4, 1. Spalte kopiert

bei Werten mit „GB“ in Tabelle 5, Spalte 1 kopiert

und alle andere Werte in Tabelle 7, Spalte 1 kopiert.

Bisher weiss ich nur, das ich:
Sub Kopiere ()
Dim Wert As Double

Sheets(„Tabelle1“).Select
Range(„A1:A70000“).Select

sum auslesen brauche,
danach wuerde ich eine If-Anweisung schreiben
und hiernach
in das entsprechende Tabellenblatt in 1. Spalte kopieren.

Mein groesstes Problem ist das ich nicht weiss wie ich den Code schreibe, der in das entsprechende Tabellenblatt schreibt

Fuer Hilfe bin ich sehr dankbar !!!

Gruesse
Alexandro

Ich habe eine Excel Datei, moechte ein VBA Makro erstellen das
anhand der Tabelle1 bei Werteen mit „ES“ in Tabelle 4, 1.
Spalte kopiert
bei Werten mit „GB“ in Tabelle 5, Spalte 1 kopiert
und alle andere Werte in Tabelle 7, Spalte 1 kopiert.

Hallo Alexandro,

in Tabelle1 steht also ES oder GB oder halt nicht in einer Zelle. In welcher Spalte denn?

In Tab4,Tab5,Tab7 soll dann jeweil die entsprechende ganze Zeile aus Tab1 „unten“ angehängt werden?

Gruß
Reinhard

Hallo Alexandro,

schon mal folgendes probiert:
Sub Kopieren()

dim i as integer
dim j as integer
dim k as integer
dim l as integer

j=1
k=1
l=1

for i = 1 to Range(„A65536“).End(xlup).Row
sheets(„Tabelle1“).select
if cells(i, 1).value = „ES“ then
row(i).copy
Sheets(„Tabelle5“).select
cells(j,1).select
activesheet.paste
j=j+1
elseif cells(i,1).value = „GB“ then
row(i).copy
Sheets(„Tabelle7“).select
cells(k,1).select
activesheet.paste
k=k+1
else
row(i).copy
Sheets(„Tabelle7“).select
cells(j,1).select
activesheet.paste
j=j+1
end if

next i

Ich glaube das ist die Lösung.

Gruß,
ten

Hi ten,
vielen Dank fuer die Hilfe, sieht super aus, allerdings bekomme ich in der untenstehenden Zeile immer den Fehler:

row(i).copy

„Compile error
Sub oder function not definded“

vielen Dank fuer die Hilfe, sieht super aus, allerdings
bekomme ich in der untenstehenden Zeile immer den Fehler:

row(i).copy

Hallo Alexandro, ändere row in rows.
Und, ersetze die eine 7 durch 4.

Gruß
Reinhard

Vielen Dank fuer Deine Hilfe Reinhard.

Allerdings habe ich immer noch folgendes Problem, wenn ich die Prozedur starten will:

Fenster:

„Run-Time Error 1004“:

Application-defined or object-definded Error

Allerdings habe ich immer noch folgendes Problem, wenn ich die
Prozedur starten will:
„Run-Time Error 1004“:
Application-defined or object-definded Error

Hallo Alexandro,

in welcher Codezeile?

Gruß
Reinhard

es passiert einfach beim Programmaufruf, es wird keine spezielle Zeile markiert

es passiert einfach beim Programmaufruf, es wird keine
spezielle Zeile markiert

Hallo Alexandro,

gehe mal in den VB-Editor, stell den Curser beliebig irgendwo in den Code, dann drücke F8, dann nochmal usw.
Was geschieht?

Und zur Sicherheit daß wir über das genau Gleiche reden, kopiere hier den aktuellen Code rein.

Gruß
Reinhard

es passiert einfach beim Programmaufruf, es wird keine
spezielle Zeile markiert

Hallo Alexandro,

gehe mal in den VB-Editor, stell den Curser beliebig irgendwo
in den Code, dann drücke F8, dann nochmal usw.
Was geschieht?

Es wird gelb markiert (folgende Zahlen mit „-“):

  • Sub kopiere ()
    -j = 1
    -k = 1
    -l = 1
  • For i = 2 To Range(„A65536“).End(xlUp).Row
  • Sheets(„Raw data“).Select
  • If Cells(i, 1).Value = „ES“ Then
  • ElseIf Cells(i, 1).Value = „GB“ Then
  • Else
  • Rows(i).Copy
  • Sheets(„NL Raw data“).Select
  • Cells(j, 1).Select

Und zur Sicherheit daß wir über das genau Gleiche
reden, kopiere hier den aktuellen Code rein.

Sub kopiere()

Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer

j = 1
k = 1
l = 1

For i = 2 To Range(„A65536“).End(xlUp).Row
Sheets(„Raw data“).Select
If Cells(i, 1).Value = „ES“ Then
Rows(i).Copy
Sheets(„VMIT“).Select
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 1
ElseIf Cells(i, 1).Value = „GB“ Then
Rows(i).Copy
Sheets(„GB Raw data“).Select
Cells(k, 1).Select
ActiveSheet.Paste
k = k + 1
Else
Rows(i).Copy
Sheets(„NL Raw data“).Select
Cells(j, 1).Select
ActiveSheet.Paste
j = j + 1
End If

Next i

End Sub

Gruß
Reinhard

gehe mal in den VB-Editor, stell den Curser beliebig irgendwo
in den Code, dann drücke F8, dann nochmal usw.
Was geschieht?

Es wird gelb markiert (folgende Zahlen mit „-“):

Hallo Alexandro,

du meinst (Code-) Zeilen?

Also viele, kenne ich irgendwie nich.

Lade mal eine beispielmappe hoch wo das auftritt mit file-upload o.ä., s. FAQ:2606

Gruß
Reinhard