Office: Excel VBA Copy wenn wert zwischen zwei Zahlen

Helfe beim Thema Excel VBA Copy wenn wert zwischen zwei Zahlen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Tag, ich hoffe ihr könnt mir eventuell weiterhelfen. Ich habe zwei Excel Worksheets. In beiden Worksheets existiert das Tabellenblatt... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von MartinS1992, 27. Oktober 2019.

  1. Excel VBA Copy wenn wert zwischen zwei Zahlen


    Guten Tag, ich hoffe ihr könnt mir eventuell weiterhelfen.

    Ich habe zwei Excel Worksheets.
    In beiden Worksheets existiert das Tabellenblatt "Statistik"
    In Spalte "B" des Tabellenblatts "Statistik" befindet sich ab Zeile "9" eine Laufende Nr. bei 1 beginnend bis 9999.

    Definiert sind die beiden Worksheets als "Quelldatei" und "Zieldatei"

    Im Worksheet "Zieldatei" gibt es ein weiteres Tabellenblatt "Importieren"
    In dem Tabellenblatt "Importieren" möchte ich nun in den Zellen E10 und E11 einen "Start" und "End" Wert für die laufende Nummer eintragen. Als Beispiel:

    E10 = 20
    E11= 500

    Laufende Nummer 20 - 500 ist jetzt relevant.

    Nun möchte ich per VBA Code den Inhalt des Tabellenblatt "Statistik" aus dem Worksheet "Quelldatei" in das Tabellenblatt "Statistik" aus dem Worksheets "Zieldatei" kopieren, wenn dieser zwischen der oben definierten laufenden Nummer 20 - 500 liegt.
    Der zu kopierende Inhalt liegt zwischen den Zellen "B" bis "K"
    Der einzufügende Inhalt soll in dem Worksheets "Zieldatei" Tabellenblatt "Statistik" unter die letzte befüllte Zeile eingefügt werden.

    Den "Import" Vorgang starte ich über einen CommandButton.

    Soweit zu den Rahmenbedingungen. Da ich selber kein VBA Experte bin, habe ich angefangen mir aus dem Internet Informationen zusammenzutragen und mein "Code" sieht bis jetzt so aus:

    Private Sub CommandButton12_Blick()

    Dim Quelldatei As Workbook
    Dim Zieldatei As Workbook
    Dim strPfadQuelle as String
    Dim i As Integer
    Dim intLastQuelle As Integer
    Dim intLastZiel As Integer

    von = Zieldatei("Importieren").Range("E10").Value
    bis = Zieldatei("Importieren").Range("E11").Value

    strPfadQuelle = "###Hier Zielfpad einfügen###"

    Set Zieldatei = ActiveWorkbook
    Set Quelldatei = Workbooks.Open(strPfadQuelle)

    intLastQuelle = Quelldatei.Sheets("Statistik").UsedRange.Rows.Count
    intLastZiel = Zieldatei.Sheets("Statistik").UsedRange.Rows.Count

    With Zieldatei.Sheets("Statistik")

    For i = 2 To intLastZiel

    If.Cells(i,2) >= von And .Cells(i,2)

    :)
     
    MartinS1992, 27. Oktober 2019
    #1
  2. Hi,
    da nachgebaute Dateien nie so aussehen, wie Originaldateien, baue doch bitt eauf einem "internetfähigen" Rechner Deine beiden Dateien einmal mit ein paar daten nach und lade sie dann hoch.

    Schon mal als Anmerkung:
    Wenn Du Worksheet schreibst, meinst Du vermutlich Workbook.

    Dieser befehl funktioniert so nicht:

    Code:
    sondern so:

    Code:
    zum Kopieren: Das geht in diese Richtung:

    Code:
     
    ReginaR, 28. Oktober 2019
    #2
  3. Hi,

    USB-Stick?

    Alternativ:
    SD-Card?
     
  4. Excel VBA Copy wenn wert zwischen zwei Zahlen

    Vielen Dank für die schnelle Antwort.
    Ich werde versuchen heute abend eine Beispieldatei zu fertigen und hochzuladen.
     
    MartinS1992, 28. Oktober 2019
    #4
  5. Der Anfang sieht doch schon recht ordentlich aus!

    Ich schlage Dir vor, den AutoFilter zu nutzen. Das lässt sich auch einfach mit dem Makrorekorder aufzeichnen und der aufgezeichnete Code dann an Deine Wünsche verallgemeinert anpassen.

    Ansonsten: Den Kopf nicht hängen lassen. Das ist vor allem Fleißarbeit, die noch ansteht, aber am fehlenden Verständnis für die Materie hapert es bei Dir offensichtlich nicht.

    Schau Dir dafür z. B. mal die Intersect-Methode an (wäre mein Favorit) oder nutze so ein Konstrukt: Range("B" & i & ":K" & i").Copy...
     
    EarlFred, 28. Oktober 2019
    #5
  6. Hallo Regina,

    steh ich jetzt auf dem Schlauch?
    Weshalb soll das mit dem Öffnen der Datei so nicht funktionieren?

    PHP:
             Public Sub aaa()
    Dim Quelldatei As Workbook
    Dim strPfadQuelle 
    As String

    strPfadQuelle 
    "C:TestTest1Testdatei.xlsx"

    Set Quelldatei Workbooks.Open(strPfadQuelle)

    If 
    Not Quelldatei Is Nothing Then
    MsgBox Quelldatei
    .Name
    Else
    MsgBox "Name unbekannt"
    End If
    End Sub
     
    Werner.M, 29. Oktober 2019
    #6
  7. Selbstredend klappt das so - das ist auch unstrittig die beste Methode.

    Diese Prüfung hier ist allerdings skurril:
    Code:
    Die Existenz einer Datei würde ich anders prüfen:
    VB-Tec / System / Datei / Exists - Feststellen, ob Datei bzw. Verzeichnis existiert
     
    EarlFred, 29. Oktober 2019
    #7
  8. Excel VBA Copy wenn wert zwischen zwei Zahlen

    .. dem würde Ich mich anschließen zumal es bei Nichtdasein ohnehin zu einem Laufzeitfehler führen müsste, es sei denn, die Fehlerbehandlung wurde abgeschalten ...
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  9. \@Mase,EarlFred und Werner M.:
    Ihr habt natürlich recht, weiß auch nicht, was ich da "gesehen" habe.
     
    ReginaR, 29. Oktober 2019
    #9
  10. oh das kenn ich ...
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  11. \@Mase, EarlFred,

    mir ging/geht es nicht um eine Prüfung ob die Datei existiert oder nicht, sondern war nur zum Testen wegen der Aussage von Regina.

    Gruß Werner
     
    Werner.M, 29. Oktober 2019
    #11
  12. Also kurze Zwischenmeldung. Dank der freundlichen Hilfe hier, habe ich den VBA Code einwandfrei zum Laufen bekommen.

    Jetzt habe ich nur noch ein kleines weiteres Problem.
    Mein Code fügt mir den Inhalt immer an exakt der Stelle in der Statistik ein wo er ursprünglich auch kopiert wurde.
    Jetzt würde ich aber gerne, dass der Inhalt quasi unter die letzte beschriebene Zeile eingefügt wird.

    Momentan sieht der hierfür relevante Teil so aus:

    With wbQuelldatei.Sheets("Statistik")
    For i=2 To intLastquelle
    If .Cells(i, 2) >= von And .Cells (i,2)
     
    MartinS1992, 29. Oktober 2019
    #12
  13. Excel VBA Copy wenn wert zwischen zwei Zahlen

    Hallo,

    teste:

    PHP:
             With wbZieldatei.Sheets("Statistik")
    .
    Range("B" & .Cells(.Rows.Count"B").End(xlUp).Offset(1)).PasteSpecial Paste:=xlPasteValues
    End With
     
    Werner.M, 29. Oktober 2019
    #13
  14. Leider bekomme ich hier folgende Fehlermeldung:

    Laufzeitfehler 1004:

    Anwendungs- oder objektdefinierter Fehler
     
    MartinS1992, 30. Oktober 2019
    #14
  15. Hallo,

    uuups, da fehlt ein .Row

    PHP:
             With wbZieldatei.Sheets("Statistik")
    .
    Range("B" & .Cells(.Rows.Count"B").End(xlUp).Offset(1).Row).PasteSpecial Paste:=xlPasteValues
    End With
     
    Werner.M, 30. Oktober 2019
    #15
Thema:

Excel VBA Copy wenn wert zwischen zwei Zahlen

Die Seite wird geladen...
  1. Excel VBA Copy wenn wert zwischen zwei Zahlen - Similar Threads - Excel VBA Copy

  2. VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.

    in Microsoft Excel Hilfe
    VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.: Hallo zusammen, Eine Tabelle mit 9 Worksheets, Datenblatt, Studien, Studie_1 ...Studie_7. Auf dem Deckblatt werden in Zelle B4-B10 die Namen der Studien eingetragen. Davon abhängig ob ein Name...
  3. Excel VBA Spalten mit Ordnerinhalt vergleichen

    in Microsoft Excel Hilfe
    Excel VBA Spalten mit Ordnerinhalt vergleichen: Hallo, Bin ehr Excel VBA Neuling, Würde aber gerne in einer bestehender Tabelle die Auflistung der Ordner mit dem eigentlichen Stand in den besagten Ordner kontrollieren. Also in der Spalte Q10...
  4. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  5. Dynamische Tabellen mit automatischer Aktualisierung

    in Microsoft Excel Hilfe
    Dynamische Tabellen mit automatischer Aktualisierung: Hallo in die Runde! Vorab schon mal vielen Dank für alle Mühen und die Hilfe! Ich habe folgendes Anliegen: Ich habe eine Geräteliste als Excel Datei mit einigen verschiedenen Tabellenblättern...
  6. Laufzeitfehler 13 & Blattschutz (VBA Excel 2016)

    in Microsoft Excel Hilfe
    Laufzeitfehler 13 & Blattschutz (VBA Excel 2016): Hallo zusammen, ich bin leider was das Thema VBA angeht noch ein ganz blutiger Anfänger und suche deshalb eure Hilfe. :( Ich habe eine Tabelle gebaut in der ein paar Formel stehen. Über VBA...
  7. Excel VBA Sheet am Ende einfügen, ABER

    in Microsoft Excel Hilfe
    Excel VBA Sheet am Ende einfügen, ABER: Hallo zusammen, ich habe schon unzählige Seiten schon durchforstet, leider vergeblich. Bin gerade am VBA rein schnuppern und suche mir "schnipsel" aus dem Netz zusammen. Thema ist zwar bekannt,...
  8. VBA - Mehrere Zeile aus einem Tabellenblatt in ein Neues einfügen

    in Microsoft Excel Hilfe
    VBA - Mehrere Zeile aus einem Tabellenblatt in ein Neues einfügen: Guten Morgen, ich habe mir folgenden Code gebastelt, sodass die ausgewählten Zellen aus deinem einen Tabellenblatt bei Ausführung des Makros in ein Neues eingefügt werden. Meine Frage ist, ob...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden