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
GELÖST

Excel suchen per Makro

Frage Microsoft Microsoft Office

Mitglied: anchle

anchle (Level 1) - Jetzt verbinden

24.11.2013 um 16:56 Uhr, 5473 Aufrufe, 2 Kommentare

ich habe eine Gebührentabelle. In Spalte A stehen die Werte. z.Bsp. 6000. In D1 gebe ich den Wert ein, der gesucht werden soll, z.B. 5900. Die werden natürlich nicht gefunden. Schön wäre es allerdings, wenn das Makro den Wert 6000 findet. In der Spalte B steht dann die Gebühr,

such = Range("D1")

Range("A6").Select


On Error Resume Next
Cells.Find(What:=such, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
Mitglied: colinardo
24.11.2013, aktualisiert um 18:41 Uhr
Hallo anchle,
wozu ein Makro wenn du es auch mit einer Matrix-Formel erledigen kannst:
=SVERWEIS(INDEX($A$6:$A$65535;VERGLEICH(WAHR;$A$6:$A$65535>=$D$1;0));$A6:$B$65535;2;WAHR)
Dies Formel gibst du in einer Zelle deiner Wahl ein, diese Zeigt dann zu deinem eingetragenen Wert in D1 den dazu passenden Wert aus Spalte B passend zu den Einträgen in A6:A65535 an. Wenn der Wert nicht existiert wird der nächst größere Wert genommen.
BITTE BEACHTEN: Dies ist eine Matrix-Formel. Man muss die Formel mit STRG-SHIFT-ENTER abschließen anstatt nur mit einem "einfachen" Enter. Eine Matrixformel erkennt man in Excel daran das in der Formelzeile die Formel mit geschweiften Klammern eingefasst wird.

Wenn doch keine Formel in Frage kommt, hier auch eine Variante per Makro:
Hierbei steht in D1 dein Suchwert welches in A6:A65535 gesucht wird, und bei Übereinstimmung bzw. nächst größerem, der Wert in Spalte B in Zelle E1 eingetragen wird. Passt der Wert nicht ganz, wird in D1 automatisch der dazu passende Wert eingetragen. Das verwendete Sheet ist noch in Zeile 3 anzupassen.
01.
Sub Search() 
02.
    Dim rngSuchwert As Range, rngTarget As Range, rngSearch As Range, sheet As Worksheet 
03.
    Set sheet = Worksheets(1) 
04.
    Set rngSuchwert = sheet.Range("D1") 
05.
    Set rngTarget = sheet.Range("E1") 
06.
     
07.
    For i = 6 To 65535 
08.
        If sheet.Cells(i, 1).Value >= rngSuchwert.Value Then 
09.
            rngTarget.Value = sheet.Cells(i, 2).Value 
10.
            rngSuchwert.Value = sheet.Cells(i, 1).Value 
11.
            Exit For 
12.
        End If 
13.
    Next 
14.
End Sub
Falls noch etwas unklar sein sollte, hier ein Demo-Excel-File zum Download.

Grüße Uwe
Bitte warten ..
Mitglied: anchle
24.11.2013 um 19:43 Uhr
Hallo, recht herzlichen Dank. Ich liebe Makros, daher habe ich diese Variante gewählt. Ich lasse erst Dein Makro laufen, dann korrigiert er den Suchbetrag und den suche ich dann mit meinem Makro. Er springt auf die Zelle und ich kann die verschiedenen Gebühreneinheiten ablesen. einfach genial! Danke!
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
VB for Applications
gelöst Zelle in Excel per Makro auswählen (7)

Frage von Enriqe zum Thema VB for Applications ...

Microsoft Office
gelöst Excel 2010 Zellen mit bestimmten Inhalt mit Makro formartierten (5)

Frage von packmann2016 zum Thema Microsoft Office ...

Microsoft Office
gelöst CSV-Datei mit einem VBA Makro in Excel einlesen und leicht anpassen (5)

Frage von JoSiBa zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...