Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

sverweis durch vba ersetzen

sverweis durch vba ersetzen
15.07.2019 21:48:05
Klaus
Guten Abend zusammen,
als vba Neuling habe ich hier schon mal tolle Hilfe erhalten. Deshalb traue ich mich nochmals mit folgender Bitte. Ich fülle in einer Tabelle eine Zelle mit folgender Formel je nach Zustand von B7 mit einem Text aus einem andern Tabellenblatt. Das funktioniert prima, allerdings kann ich den Text nicht bearbeiten, ohne die Formel zu löschen.Deshalb würde ich mir eine VBA Lösung wünschen, die ich für 7 Zeilen in den nachstehenden Code einfügen kann. Kann mir jemand helfen? Im Voraus schon mal vielen Dank und schönen Abend.
Gruß Klaus
https://www.herber.de/bbs/user/130919.xlsm

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sverweis durch vba ersetzen
15.07.2019 21:54:41
onur
"Ich fülle in einer Tabelle eine Zelle mit folgender Formel " - nach so einem Satz sollte doch eine FORMEL kommen - oder ?
Und der Code gehört in ein Codemodul und nicht auf ein Tabellenblatt - was soll man damit?
AW: sverweis durch vba ersetzen
15.07.2019 22:21:38
Rainer
Hallo Klaus,
Wie Onur schon sagt, die Formel fehlt. In B7 steht sie jedenfalls nicht.
Aber es läuft auf Worksheetfunction.Match hinaus. Um die Parameter kennenzulernen solltest du den SVerweis durch INDEX/VERGLEICH ersetzen.
Mit besserer Beispielmappe bekommst du auch bessere Hilfe.
Gruß, Rainer
AW: sverweis durch vba ersetzen
15.07.2019 22:55:19
Klaus
Hallo Onur, hallo Rainer,
ich bin halt noch ein richtiges Greenhorn. Dennoch vielen Dank, dass ihr mir geantwortet habt.
Die Formel steht in Zelle I8 von 3.1-prot-tool-fachgespräch und sieht so aus.
=WENN(ISTNV(SVERWEIS('3.1-prot-tool-fachgespräch'!B7;'protokoll-bausteine'!$A$3:$P$8;12;FALSCH));""; SVERWEIS('3.1-prot-tool-fachgespräch'!B7;'protokoll-bausteine'!$A$3:$P$8;12;FALSCH))
Eine VBA Lösung würde ich gerne in nachfolgendes Makro einbauen. Die komplette Arbeitsmappe ist sehr umfangreich und enthält auch Infos, die ich nicht gerne veröffentlichen möchte
Sub AlsPDFDiagnose3Speichern()
Dim pdfDateiName As String
Dim pdfname As Variant
'Ausrichtung Querformat
Worksheets("1.1-prot-tool-diagnose").PageSetup.Orientation = 2
'Format automatisch anpassen
Worksheets("1.1-prot-tool-diagnose").PageSetup.Zoom = False
Worksheets("1.1-prot-tool-diagnose").PageSetup.FitToPagesWide = 1
Worksheets("1.1-prot-tool-diagnose").PageSetup.FitToPagesTall = 1
'Datei als "PDF" speichern
pdfDateiName = ActiveWorkbook.Path & ("-") & ActiveSheet.Range("J5") & "-prot-diagnose-" &  _
Date & ".pdf"
pdfname = Application.GetSaveAsFilename(InitialFileName:=pdfDateiName, FileFilter:="PDF  _
files, *.pdf", Title:="PDF speichern")
If pdfname  False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfDateiName, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False,  _
OpenAfterPublish:=False
Else
Exit Sub
End If
' löscht Zellen nur nach Abfrage
Dim Mldg, Stil, Titel, Hilfe, Ktxt, Antwort, Text1
' Meldung definieren.
Mldg = "Prüfungsnummer eingegeben? Die eingegeben Daten wurden als PDF Datei in dem von  _
Ihnen gewählten Ordner gesichert. Wollen Sie die eingegebenen Daten wirklich aus dieser Tabelle löschen?"
' Schaltflächen definieren.
Stil = vbYesNo + vbCritical + vbDefaultButton1
Titel = "Alle eingegebenen Daten werden endgültig gelöscht!"
' Meldung anzeigen.
Antwort = MsgBox(Mldg, Stil, Titel, Hilfe, Ktxt)
' Benutzer hat "Ja"    ' gewählt.
If Antwort = vbYes Then
Range("B7,B15,B22,B29,B37,B43,D9:F12,D17:F19,D24:F26,D31:F34,D39:F40,D45:F46,I8,I16,I23,I30, _
I38,I44,J5").Select
Selection.ClearContents
End If
Cells(9, 4).Select
End Sub
Ich hoffe, Ihr könnt damit was anfangen.
Gruß Klaus
Anzeige
AW: sverweis durch vba ersetzen
15.07.2019 23:03:12
Rainer
Hallo Klaus,
machen wir es einfacher:
    Range("B7").FormulaLocal = "=WENN(ISTNV(SVERWEIS('3.1-prot-tool-fachgespräch'!B7;'protokoll- _
bausteine'!$A$3:$P$8;12;FALSCH));""; SVERWEIS('3.1-prot-tool-fachgespräch'!B7;'protokoll-bausteine'!$A$3:$P$8;12;FALSCH)) "
Temp = Range("B7").Value
Range("B7") = Temp
Klappt das?
Gruß, Rainer
AW: sverweis durch vba ersetzen
16.07.2019 09:50:49
Klaus
Hallo Rainer,
klappt leider nicht, ich muss wohl was anderes versuchen. Vielen Dank für Deine Mühe,
Gruß Klaus
AW: sverweis durch vba ersetzen
16.07.2019 12:52:39
Rainer
Hallo Klaus,
leider keine hilfreiche Antwort. Bei mir hat es super geklappt!
Wenn du Hilfe möchtest, dann gib uns deine Mappe. Ersetze alle geheimen Informationen durch Pseudo-Daten.
Oder probiere es ganz einfach:
Formel in B7 schreiben und testen ob funktioniert
Makrorekorder AN
B7 Selektieren
F2 drücken
Mit Enter Bestätigen
Makrorekorder AUS
Jetzt hast du die Formeleingabe in VBA. Damit ersetzt du die erste Zeile aus meinem Code.
Gruß, Rainer
Anzeige
AW: sverweis durch vba ersetzen
16.07.2019 19:53:43
Klaus
Hallo Rainer,
tut mit leid, wenn ich mich bisher so blöd angestellt und wohl auch undeutlich ausgedrückt habe.
Nach Tagen erfolglosen Bastelns war ich schon schwer frustriert.
Ich habe nun die Datei mal abgespeckt, und eine von drei gleichartigen, nur in der Zeilenzahl unterschiedlichen Tabellen angehängt.
Das mit der Makro Aufzeichnung hat geklappt, allerdings konnte ich es nicht erfolgreich in mein vorhandenes Makro einbauen. Mein Problem war nicht unbedingt das einfügen der Formel in die Zellen I8, I16 und folgende. Ich möchte allerdings diesen, nach Betätigen des Drehfeldes in Spalte B durch die Formel eingefügten Text abändern bzw. ergänzen und das Formular nach Speichern im PDF Format wieder zur Verfügung haben. Ich hoffe nun, dass Du mit der angehängten Datei und meinen Angaben vielleicht doch etwas anfangen kannst. https://www.herber.de/bbs/user/130942.xlsm
Anzeige
AW: sverweis durch vba ersetzen
16.07.2019 20:22:05
Rainer
Hallo Klaus,
wir lernen hier alle noch was dazu.
Hier schau mal, ob es so richtig ist: https://www.herber.de/bbs/user/130943.xlsm
Es ist immer kniffelig, mit VBA verbundene Zellen anzusprechen, weil auch dort der Recorder trickst. Aus "Selection" wird auf einmal "ActiveCell", aber der selektierte Range beschreibt den ganzen Zellverbund.
Unabhängig davon geht evtl. auch ein anderes Vorgehen: Dein Eingabeformular erstellst du einmal und versteckst das Blatt. Wenn es aufgerufen werden soll um die Daten einzugeben, dann erstellt du stattdessen eine Kopie. Diese kannst du nach dem Speichern als PDF komplett löschen. Wäre das einfacher?
Gruß, Rainer
Anzeige
AW: sverweis durch vba ersetzen
17.07.2019 09:26:00
Klaus
Hallo Rainer,
da hab ich mir vielleicht doch was unmachbares vorgestellt. Leider kann ich den Text in der Zelle I8 nicht bearbeiten. Hab im Moment keine Möglichkeit das weiter zu verfolgen. Werde bei Gelegenheit Deinen Alternativvorschlag noch mal aufgreien. Ich bedanke mich mit leicht schlechtem Gewissen bei Dir für Deine Mühe.
Gruß Klaus
AW: sverweis durch vba ersetzen
17.07.2019 10:23:03
Rainer
Hallo Klaus,
Was meinst du damit? Wenn du die Zelle sperren willst, dann machen wir ein Worksheet_Change Event und schreiben die Formel wieder rein?
Meld dich wenn du Hilfe brauchst.
GRuß, Rainer
AW: sverweis durch vba ersetzen
17.07.2019 15:19:29
Klaus
Hallo Rainer,
das ist so weit ok. Mein Problem war, dass ich in der Zelle zwar arbeiten und die Formel wieder einfügen kann, ich aber einen neuen Text eingeben muss, und nicht am vorgegebenen Text arbeiten kann. Hab aber nun, angeregt durch Deinen Alternativvorschlag, eine Lösung gefunden die meinen Anforderungen entspricht. Ich habe den Zellverbund von Zelle I8 aufgelöst, und kann nun im neuen Zellverbund I9:J13 den Text der Formel aus I8 mit Dropdown einfügen und bearbeiten. Damit ist mein Problem gelöst. Ich bedanke mich für Deine Hilfe und Inspiration
Gruß Klaus
Anzeige
AW: sverweis durch vba ersetzen
17.07.2019 20:47:00
Rainer
Danke für deine Rückmeldung und viel Spaß mit der Mappe.
Melde dich einfach wieder wenn es noch Fragen gibt.
Gruß, Rainer
AW: sverweis durch vba ersetzen
15.07.2019 23:04:47
onur
1) Wieso nimmst du nicht Wennfehler statt Wenn und IstNV? Du hast doch Ofice 2010.
2)Ich werde keine(n) Formel/Code für eine Datei posten, wenn ich diese Datei nicht zum Testen der Formel/des Codes zur Verfügung habe.
AW: sverweis durch vba ersetzen
16.07.2019 09:52:59
Klaus
Hallo Onur,
trotzdem vielen Dank für Deine Mühe,
Klaus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige