Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Array-Formel in VBA-Code umwandeln?

Array-Formel in VBA-Code umwandeln?
26.10.2008 10:56:28
Robert
Hallo,
ich bräuchte bitte eure Hilfe.
Hab folgende Formel...
Selection.FormulaArray = _
=IF(ROW(R[-107]C[-3])>COUNTA('1'!R5C[4]:R200C[4]),"""",INDEX('1'!R5C4:R200C4,SMALL(IF('1'!R5C[4]:R200C[4]<>"""",ROW(R1:R196),""""),ROW(R[-107]C[-3]))))"
Mein Problem ist, dass ich die Formel in VBA-Code bräuchte.
Ist das überhaupt umsetzbar?
Vielen Dank schon mal im Voraus.
Grüße
Robert

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 11:04:00
Tino
Hallo,
wenn Du sagst was diese Formel macht, könnte man etwas nachbauen.
Gruß Tino
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 11:28:11
Robert
Hallo,
sorry...
Die Formel sucht in Tabelle "1", nach Prüfung und Übereinstimmung des Datums mit Tabelle "PLANTAFEL", in der enstprechenden Datumsspalte nach einträgen (z. B. "U" etc.). Wenn ein Eintrag gefunden wird, wird der daugehörige Mitarbeitername von der Tabelle "1" in Tabelle "PLANTAFEL" übernommen (ohne Leerzeilen).
https://www.herber.de/bbs/user/56279.xls
Vielleicht ist es in der Beispielmappe besser ersichtlich. Kanns leider nicht besser erklären ;-(
Vielen Dank schon mal.
Gruß Robert
Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 11:36:30
Robert
... wenn es überhaupt möglich ist, so etwas zu machen, stellt sich noch die Frage, ob der Datumsabgleich
über zwei Tabellen gehen kann ( "1" und "2" - zwei Jahreshälften)?
Danke
Robert
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 12:10:39
Erich
Hi Robert,
probier mal

Option Explicit
Sub PlantafelFuellen()
Dim intBlatt As Integer, lngC As Long, lngZ As Long, lngA As Long, lngV As Long
Sheets("PLANTAFEL").Select
For intBlatt = 1 To 2
With Sheets(CStr(intBlatt))
If intBlatt = 2 Then _
lngV = Sheets("1").Cells(3, .Columns.Count).End(xlToLeft).Column - 1
For lngC = 2 To .Cells(3, .Columns.Count).End(xlToLeft).Column
lngA = 108
For lngZ = 5 To .Cells(.Rows.Count, 1).End(xlUp).Row
If Not IsEmpty(.Cells(lngZ, lngC)) Then
Cells(lngA, lngC + lngV) = .Cells(lngZ, 1)
lngA = lngA + 1
End If
Next lngZ
Next lngC
End With
Next intBlatt
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 12:32:00
Daniel
Hi
eine Möglichkeit wäre, in der Tabelle "1" spaltenweise den Autofilter auf "NichtLeere" zu setzen und die sichtbaren Mitarbeiter aus Spalte 1 in die Planungstabelle zu kopieren:

Sub Übertragen()
Dim rngMA As Range, rngAbw As Range
Dim shP As Worksheet, sh1 As Worksheet
Dim sp  As Long
Set sh1 = Sheets("1")
Set shP = Sheets("Plantafel")
Set rngMA = Range(sh1.Cells(5, 1), sh1.Cells(Rows.Count, 1).End(xlUp))
Set rngAbw = Range(sh1.Cells(4, 1), sh1.Cells(sh1.Cells(Rows.Count, 1).End(xlUp).Row, _
Cells(2, Columns.Count).End(xlToLeft).Column))
For sp = 2 To rngAbw.Columns.Count
rngAbw.AutoFilter Field:=sp, Criteria1:=""
On Error Resume Next
rngMA.SpecialCells(xlCellTypeVisible).Copy Destination:=shP.Cells(108, sp)
On Error GoTo 0
sh1.ShowAllData
Next
End Sub


Gruß, Daniel
Gruß, Daniel

Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 13:11:00
Tino
Hallo,
hier noch meine Version.
Modul Modul1
Option Explicit 
 
Sub TestMakro() 
Dim SuchBer As Range 
Dim EinfBer As Range 
Dim i As Long, j As Long, A As Long 
Dim meArS 
 
With Tabelle1 
i = .Cells(.Rows.Count, "A").End(xlUp).Row 
j = .Cells(1, Columns.Count).End(xlToLeft).Column 
Set SuchBer = .Range("A5", .Cells(i, j)) 
End With 
meArS = SuchBer 
With Sheets("PLANTAFEL") 
Set EinfBer = .Range("B108", .Cells(107 + i, j)) 
 
For i = 1 To Ubound(meArS) 
  
 For j = 2 To Ubound(meArS, 2) 
  A = A + 1 
  Select Case UCase(meArS(i, j)) 
    
   Case "U", "F", "K": EinfBer(A) = meArS(i, 1) 
  End Select 
 Next j 
 
Next i 
End With 
End Sub 


Gruß Tino

Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 15:17:00
Tino
Hallo,
Da du eine Tabelle fürs erste Halbjahr und eine für das zweite Halbjahr haben möchtest,
brauchst du auch zwei Ausgabebereiche, weil ein ganzes Jahr nicht in eine Zeile passt.
https://www.herber.de/bbs/user/56294.xls
Gruß Tino
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 17:35:00
Robert
Hallo,
ihr seid super! Danke euch vielmals! Es funktionieren alle eure Vorschläge.
Tino deine Version ist genau das was ich brauche.
Nochmals vielen Dank
Gruß Robert
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 18:20:07
Robert
Hallo Tino,
kannst du mir nochmal helfen bitte?
Hab gerade deine Version in meine Datei eingebaut. Hab jetzt das Problem, dass ich für jeweils eine Jahreshälfte eine Tabelle brauche. Also "1" und "2" und dazu "PLANTAFEL1" und "PLANTAFEL2".
Wie müsste dann deine überaus geniale Lösung angepasst werden?
Schaffe das einfach nicht.
Gruss Robert
Anzeige
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 18:40:00
Robert
Hallo Tino,
das ging aber super schnell.
Habs gerade eingehängt und es funktioniert...es funktioniert!
Du bist der Beste! Vielen vielen Dank.
Gruss Robert
AW: Array-Formel in VBA-Code umwandeln?
26.10.2008 19:49:00
Tino
Hallo,
danke für die Rückmeldung.
PS: der Beste bin ich nicht, eher Kategorie bescheiden auf dem Weg nach oben ;-)
Gruß Tino

388 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige