Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi, oder ganz ohne Formel ;) https://www.youtube.com/watch?v=Ec_NeIeVNfI (56 Sek. Video) wobei in 10-30 Sek. ist die Teilung erledigt
lg Chris Feedback nicht vergessen. 3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• Jockel
Registriert seit: 10.04.2014
Version(en): Office 2019
30.05.2018, 13:07
(Dieser Beitrag wurde zuletzt bearbeitet: 30.05.2018, 13:07 von Jockel.)
(30.05.2018, 11:11)MisterBurns schrieb: @Jockel: Ein bisschen Fantasie erledigt auch das... Hallo Berni, ob du mir das glaubst oder nicht: Ich wusste das schon, aber vielleicht der TE nicht...
Gruß Jörg stolzes Mitglied im ----Excel-Verein Freund einer excellenten Power Query-Abfrage
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo, Zitat:wobei in 10-30 Sek. ist die Teilung erledigt der TE hat XL2010, da dauert vermutlich die Installation des Addins länger als die anschließende Teilung.
Gruß Peter
Registriert seit: 10.04.2014
Version(en): Office 2019
Hallo Peter, man kann dieses Add-In auch anderweitig nutzen. Schaden kann eine Installation vom kostenlosen Power Query (also) nicht... Selbst, wenn deine Anmerkung nur Spaß gewesen sein sollte...
Gruß Jörg stolzes Mitglied im ----Excel-Verein Freund einer excellenten Power Query-Abfrage
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo, Zitat:wenn deine Anmerkung nur Spaß gewesen sein sollte war sie, wobei aber gerade im beruflichen Bereich der 'normale' Anwender oft gar nicht die Möglichkeit hat irgendetwas zu installieren.
Gruß Peter
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi,
wie kann ich das denn per VBA abfragen.
Ich habe z.B. den Text "MA9,VN9". Wie kann ich nun per IF-Abfrage feststellen, ob an dritter Stelle eine Zahl steht?
VBA und Formel verwurstelt, stimmt so natürlich nicht: If Istzahl(Teil(A1);3;1)) then
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Zitat:Hi,
wie kann ich das denn per VBA abfragen.
Ich habe z.B. den Text "MA9,VN9". Wie kann ich nun per IF-Abfrage feststellen, ob an dritter Stelle eine Zahl steht?
VBA und Formel verwurstelt, stimmt so natürlich nicht: If Istzahl(Teil(A1);3;1)) then Genau so ;) Code: Option Explicit Sub rabe() Const strCheck As String = "MA9,VN9" If IsNumeric(Mid(strCheck, 3, 1)) Then MsgBox "ja" End If End Sub
oder brauchst du eine UDF? Code: Function rabe(rng As Range) As Boolean '=rabe(A1) ergibt wahr oder falsch If IsNumeric(Mid(rng, 3, 1)) Then rabe = True End If End Function
oder... wozu eigentlich
lg Chris Feedback nicht vergessen. 3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• Rabe
Registriert seit: 10.04.2014
Version(en): 2016 + 365
12.06.2018, 07:55
(Dieser Beitrag wurde zuletzt bearbeitet: 12.06.2018, 07:55 von Rabe.)
Hi Chris,
ich habe eine Liste von Namen und ab einer nicht vorbestimmten Stelle Platzhalter (MA8, VN8; MA9, VN9; MA10, VN10; ...) in einer Spalte. Nun möchte ich nur für die Namen per VBA Aktionen auslösen. Da ich aber nicht weiß, ob der erste Platzhalter an 6. oder 25. Stelle kommt, wollte ich die Entscheidung von der Zahl an 3. Stelle abhängig machen.
Ich hatte in dem Beitrag zuerst eine andere Formel drin stehen, mit Worten, die so kein VBA waren, drum das "stimmt so natürlich nicht".
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi, aso... ich habe nie Platzhalter ^^ anbei etwas mehr, aber schneller im Durchlauf und gut anpassbar Code: Option Explicit
Sub Zahl3() Dim lnglR As Long Dim lngfR As Long Dim VarC As Variant Dim sh As Worksheet Dim intfR As Long Dim Arr As Variant Dim i As Long Set sh = ActiveSheet 'anpassen VarC = "A" 'oder 1, Spalte wo gesucht werden sollte ! anpassen intfR = 2 'Zeile ab welcher gesucht wird ! anpassen (ohne Überschrift) With sh lnglR = .Cells(.Rows.Count, VarC).End(xlUp).Row Arr = .Range(.Cells(intfR, VarC), .Cells(lnglR, VarC)).Value End With For i = LBound(Arr, 1) To UBound(Arr, 1) If IsNumeric(Mid(Arr(i, 1), 3, 1)) Then lngfR = i + intfR - 1 Exit For End If Next
If lngfR > 0 Then MsgBox "gefunden in Zeile: " & lngfR & Chr(10) & "Mit dem Inhalt: " & Arr(i, 1) 'oder eben was du sonst damit machen möchtest Else MsgBox "nix gefunden" End If End Sub
0,05 Sekunden bei 500 000 Daten wobei ich in Zeile 500 001 den ersten Eintrag mit der Zahl hatte ;)
lg Chris Feedback nicht vergessen. 3a2920576572206973742064656e20646120736f206e65756769657269672e
Registriert seit: 10.04.2014
Version(en): 2016 + 365
12.06.2018, 09:31
(Dieser Beitrag wurde zuletzt bearbeitet: 12.06.2018, 09:31 von Rabe.)
Hi Chris, ich habe eine Liste von Mitarbeitern, eine Liste von Arbeitsplätzen, eine von Gefährdungen und eine von Maßnahmen. Mit MMULT() werden die Gefährdungen mit den Maßnahmen (Zuordnung 1) und die Gefährdungen mit den Arbeitsplätzen (Zuordnung 2) sowie die Mitarbeiter mit den Arbeitsplätzen (3) verknüpft. Aus (1) und (2) folgt ein MMULT()-Zwischenergebnis und dieses verknüpft mit (3) gibt das Ergebnis der Maßnahmen pro Mitarbeiter. Da das alles mit der MMULT()-Funktion gelöst ist, die jeweils gleich viel Spalten und Zeilen haben will, dachte ich, Platzhalter zu benötigen. Leere habe ich nun so abgefangen: Code: ... 'Zur Absicherung, daß kein leeres MA-Blatt ausgedruckt wird. If IsNumeric(Mid(strAuswahl, 3, 1)) Then Exit Sub End If ...
|