Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Excel Makro (VBA) Datenübertragung von Tabelle 1 zu Tabelle 2

Frage Microsoft Microsoft Office

Mitglied: minimin

minimin (Level 1) - Jetzt verbinden

03.05.2014 um 23:24 Uhr, 7248 Aufrufe, 5 Kommentare

Hallo alle zusammen,

ich bin noch nicht fortgeschritten im Umgang mit VBA und würde gerne wissen, wie man bestimmte Werte aus einer Tabelle 1 in Tabelle 2 überträgt, wenn man zu bestimmten Zellwerten aus Zahlen in der darauffolgenden Spalte einen mit dem Zellwert verbundenem Text immer als Paar übertragen haben möchte (Bsp siehe folgende Bilder).

Also im Beispiel habe ich bestimmte Zahlen und dementsprechende Texte in Tabelle 1. Siehe Tabelle 1 bzw. erstes Bild:
e528331e958eec68b7c60d7d07cb6420 - Klicke auf das Bild, um es zu vergrößern


In Tabelle 2 möchte ich nun in einer anderen Anordnung bestimmten Zahlen die dementsprechenden Texte zuordnen und diese einfügen. Siehe Tabelle 2 bzw. zweites Bild:

55e6c6792a3b9be0b4f444ca32ca556e - Klicke auf das Bild, um es zu vergrößern

Dies bedeutet, dass ich nun gerne neben "123" gerne "Buch" stehen hätte und neben "125" gerne "Computer". Analog dazu die anderen Zahlen-Text-Paare.

Wie gestalte ich nun ein Makro in Visual Basic, damit ich dieses Verfahren mit vielen Zahlen & Texten automatisieren kann?


Ich hoffe, ihr könnt mir helfen!

Viele Grüße!
Mitglied: hcfel1
04.05.2014, aktualisiert um 03:33 Uhr
Erste Tabelle in ein Feld einlesen und dann mit
for 0 to ubound(feld)
if ...

vergleichen...
genug Denkanstoß?

dazu gibts aber bereits eine Funktion
sverweis oder wverweis


wie gut sind deine VBA Kenntnisse ?
Bitte warten ..
Mitglied: minimin
04.05.2014 um 23:42 Uhr
Danke für die Antwort, "sverweis" ist doch nur für eine einzelne Suche da, nicht für die komplette Übertragung auf einem Klick für alle Werte, oder? Wie automatisiere ich das ganze?
Ich habe einen VBA Kurs besucht, aber um es selbst richtig zu schreiben, fehlt es mir an Erfahrung.
Bitte warten ..
Mitglied: hcfel1
04.05.2014 um 23:50 Uhr
sverweis kann dann ja "runter gezogen werden" <-- Formel Autovervollständigen

Wenn du es mit VBA als Übung lösen willst, teile mir mit ob du den Ansatz verstanden hast, ansonsten werd ich ausführlicher...
Bitte warten ..
Mitglied: colinardo
05.05.2014, aktualisiert um 11:44 Uhr
Hallo minimin, Willkommen im Forum!
Hier ein Beispiel mit VBA zur Übung, auch wenn es mit SVERWEIS (siehe im Demo-Sheet, Tabelle 'SVERWEIS') einfacher zu realisieren ist:
Und hier noch das Demo-Sheet dazu.
01.
Sub Werte_Zuordnen() 
02.
    Dim dic As Object, wsSource As Worksheet, wsTarget As Worksheet, rngDataStart As Range, rngDataEnd As Range, rngTargetStart As Range, rngTargetEnd As Range, cell As Range 
03.
     
04.
    'Dictionary Object das die Zuordnung der Daten der ersten Tabelle enthält 
05.
    Set dic = CreateObject("Scripting.Dictionary") 
06.
     
07.
    'Worksheets referenzieren 
08.
    Set wsSource = Worksheets(1) 
09.
    Set wsTarget = Worksheets(2) 
10.
     
11.
    'Referenzbereich der ersten Tabelle festlegen 
12.
    Set rngDataStart = wsSource.Range("A2") 
13.
    Set rngDataEnd = rngDataStart.End(xlDown) 
14.
     
15.
    'Zielbereich der zweiten Tabelle 
16.
    Set rngTargetStart = wsTarget.Range("A2") 
17.
    Set rngTargetEnd = wsTarget.Cells(Rows.Count, 1).End(xlUp) 
18.
     
19.
    'Dictionary mit den Werten der ersten Tabelle füllen 
20.
    For Each cell In wsSource.Range(rngDataStart, rngDataEnd) 
21.
        dic.Add cell.Value, cell.Offset(0, 1).Value 
22.
    Next 
23.
     
24.
    'Zieltabelle durchgehen und Werte zuordnen 
25.
    For Each cell In wsTarget.Range(rngTargetStart, rngTargetEnd) 
26.
        ' Wenn Wert der Zelle nicht leer ist und der Wert in der Zuordnungstabelle vorhanden ist dann schreibe den Wert in die Zelle daneben 
27.
        If cell.Value <> "" And dic.Exists(cell.Value) Then 
28.
            cell.Offset(0, 1).Value = dic.Item(cell.Value) 
29.
        End If 
30.
    Next 
31.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: minimin
07.05.2014 um 22:23 Uhr
Hallo Uwe,

herzliches Dankeschön !
Es ist eine große Hilfe für mich!

Viele Grüße

Minimin
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
gelöst Excel-Makro (7)

Frage von yuki13 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel Makro : Erst prüfen bei erfolgreicher IF einen Wert überschreiben (4)

Frage von Matze1508 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel Makro - Button "Springe zu Zeile mit heutigem Datum" (5)

Frage von hannsgmaulwurf zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...