Microsoft Excel

Herbers Excel/VBA-Archiv

Auschneiden und Einfügen bestimmter Zellen


Betrifft: Auschneiden und Einfügen bestimmter Zellen von: BastianB
Geschrieben am: 15.08.2018 15:00:53

Hallo zusammen!

Mein Problem sieht folgendermaßen aus:
Ich habe einen Inhalt in Zelle A1 in einer Excel Datei 1 und möchte diesen durch ein Makro in eine andere Excel Datei 2 in eine Ziel-Tabelle in die nächste freie Zelle kopieren.

Diese Tabelle 2 besteht aus 2 Reihen "C" und "D".
Reihe "C" beinhaltet IP-Adressen und Reihe "D" verschiedene Namen.

Der Inhalt aus A1 in der Excel Datei 1 soll in "D" in die nächste freie Zelle eingefügt werden und wenn das geschehen ist, soll die IP-Adresse aus der danebenliegenden Zelle in Reihe "C" wiederum kopiert und in Zelle B1 in der Ursprungsdatei ausgegeben werden.

Es soll also praktische eine Zuordnung passieren und dann die zum Namen zugehörige IP-Adresse ausgegeben werden.

Jetzt kann ich einige Zwischenschritte mit Hilfe von Tutorials abbilden, aber ich würde doch gerne wissen, ob jemand hier da das gesamte Makro erzeugen kann, bzw. mir zeigen kann, wie das möglich wäre.

Vielen Dank im Voraus

Bastian

  

Betrifft: AW: Auschneiden und Einfügen bestimmter Zellen von: Klexy
Geschrieben am: 15.08.2018 16:45:35

Du schreibst den Wert aus A1 in eine Variable:
Variable = Range("A1").Value
Dann wechselst du in die zweite Datei.
Die erste freie Zelle in Spalte D triffst du am besten wenn du dich von unten heranpirschst:
Range("D10000").End(xlUp).Offset(1, 0).Select
Und dann lädst du dort deine Variable ab:
Selection.Value = Variable
Oder direkt ohne Select, damit nicht manche hier im Forum graue Haare kriegen:
Range("D10000").End(xlUp).Offset(1, 0).Value = Variable

Dann nimmst du die Nebenzelle in die Variable:
Variable = Range("D10000").End(xlUp).Offset(0, -1).Value
Dann wechselst du zurück in die erste Datei und lädst die Variable in Zelle B1 ab:
Range("B1").Value = Variable


  

Betrifft: AW: Auschneiden und Einfügen bestimmter Zellen von: BastianB
Geschrieben am: 16.08.2018 11:17:51

Hi nochmal.

Also vielen Dank nochmal für diese Tipps. Leider wirft der mir jetzt dauernd den Fahler: "Index außerhalb des gültigen Bereichs" aus. Mein Code sieht gerade so aus:

Sub Test()

    ScannerNummer = Workbooks("Makro.xlsm").Worksheets("Tabelle1").Range("A1").Value
    Windows("IP_Pool.xls").Activate
    Range("B508").End(xlUp).Offset(1, 0).Select
    Selection.Value = ScannerNummer
    ScannerNummer = Range("B508").End(xlUp).Offset(0, -1).Value
    Windows("Makro.xlsm").Activate
    Range("B1").Value = ScannerNummer
    
End Sub

Zum Verständnis, da ich ein bisschen was geändert habe: Ich starte das Makro über einen Button in "Makro.xlsm". Dort befindet sich in Spalte A eine ScannerNummer, die ich dann in das zweite Dokument "IP_Pool" in die nächste freie Zelle in Spalte B einfügen möchte. In Spalte A in diesem Dokument stehen 508 Ip-Adressen. Wenn die Scanner Nummer in Zelle B312 z.B. eingefügt wird, dann soll das Makro als nächstes die IP aus Zelle A312 kopieren und in "Makro.xlsm" in Zelle B1 einfügen.

Hoffe das ist soweit klar und vielen Danke für alle weiteren Anregungen! (P.S. Man sieht ja, dass ich absoluter VBA Neuling bin)


  

Betrifft: AW: Auschneiden und Einfügen bestimmter Zellen von: Klexy
Geschrieben am: 16.08.2018 14:52:08

Funktioniert bei mir einwandfrei wie du es geschrieben hast.
Schau dir mal an, bei welcher Code-Zeile er hängenbleibt und diese Meldung ausgibt.


  

Betrifft: AW: Auschneiden und Einfügen bestimmter Zellen von: Werner
Geschrieben am: 16.08.2018 18:22:14

Hallo Bastian,

bist du sicher, dass deine IP_Pool eine .xls ist und nicht eine .xlsx?
Außerdem würde ich an deiner Stelle auch noch das entsprechende Tabellenblatt der IP_Pool mit angeben. Und dann auch ohne Select.

Sub Test()

With Workbooks("IP_Pool.xlsx").Worksheets("Tabelle1") 'Blattname anpassen
    .Cells(.Cells(.Rows.Count, 2).End(xlUp).Row, 2).Offset(1, 0) = _
    ThisWorkbook.Worksheets("Tabelle1").Range("A1")
    ThisWorkbook.Worksheets("Tabelle1").Range("B1") = _
    .Cells(.Cells(.Rows.Count, 2).End(xlUp).Row, 2).Offset(0, -1)
End With

End Sub
Gruß Werner


  

Betrifft: AW: Auschneiden und Einfügen bestimmter Zellen von: SF
Geschrieben am: 15.08.2018 16:48:15

Hola,

verlinkst du bitte deine Fragen in den verschiedenen Foren untereinander?
Danke.

Gruß,
steve1da


  

Betrifft: schon was von Feedback gehört? owT von: Werner
Geschrieben am: 20.08.2018 18:44:31




Beiträge aus dem Excel-Forum zum Thema "Auschneiden und Einfügen bestimmter Zellen"