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. EXCEL Horizontale Achse schneidet - Wert mit Zellbezug mittels VBA

    in Microsoft Excel Hilfe
    EXCEL Horizontale Achse schneidet - Wert mit Zellbezug mittels VBA: Hallo zusammen, als VBA-Neuling stehe ich vor einer für mich großen Herausforderung:confused:. Für ein Dashboard muss ich verschiedene Diagramme mit spezifischen Achsenwert (Horizontale Achse...
  3. Excel VBA aus einem Formular Daten in eine geschlossen Arbeitsmappe zu übertragen

    in Microsoft Excel Hilfe
    Excel VBA aus einem Formular Daten in eine geschlossen Arbeitsmappe zu übertragen: Hallo, ich bräuchte mal eure Hilfe Ich habe ein Solaranlage, wo ich jede Woche neu Daten bekomme, die ich in der Arbeitsmappe SolarStrom 2020_01_01 speichere. Die Daten werden in eine Formular...
  4. Alle Checkboxen anwählen und definieren

    in Microsoft Excel Hilfe
    Alle Checkboxen anwählen und definieren: Hallo liebe Leuts, Vielleicht kann mir jemand hier weiterhelfen? Ich habe mehrere Checkboxen in einem Dokument und möchte alle nicht aktiven Checkboxes farblich grau hinterlegen ohne dabei jede...
  5. Makro VBA: Kopieren aus Quelldatei nach Zieldatei über mehrere Tabellen

    in Microsoft Excel Hilfe
    Makro VBA: Kopieren aus Quelldatei nach Zieldatei über mehrere Tabellen: Hallo, leider kann ich maximal Makros aufzeichnen. Damit komme ich bei meinem jetzigen Problem allerdings nicht weiter. Problem: Monatlich soll ein Auszug von Daten aus einer Quelldatei die ich...
  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...

Users found this page by searching for:

  1. excel vba werte zwischen zwei zahlen zulassen