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, 8053 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 ..
Ähnliche Inhalte
Microsoft Office
EXCEL VBA Termindaten aus Tabelle Filtern

Frage von t3jxbus zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel 2010 Makro Ausgabe in bestimmter Tabelle ausgeben (6)

Frage von dressa zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel 2010 mit VBA sortieren ? (4)

Frage von dressa zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (16)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Exchange Server
Apple Mail mit Exchange 2010 verbinden (12)

Frage von DieAzubinne zum Thema Exchange Server ...